folder Tahribat.com Forumları
linefolder C - C++
linefolder C++'A Basladim , Kitaptaki Programin Aynisini Yazmama Ragmen Calismiyor



C++'A Basladim , Kitaptaki Programin Aynisini Yazmama Ragmen Calismiyor

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    Hep boyle oluyor , kitaptakinin aynisini yazdigimda calismiyor genelde

    #include "stdafx.h"

    #include <iostream.h>



    int _tmain(int argc, _TCHAR* argv[])
    { int a, b, c;
    cout <<"Bir tam sayi giriniz";
    cin >>a;
    count <<endl;
    cout <<"Ikinci bir tam sayi giriniz";
    cin >>b;
    c=a*b;
    cout <<"girdiginiz sayilarin carpimi="<<c<<endl;
    cin >>a;
    return 0;
    }

    Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory c:\users\administrator\desktop\programlama calismalarim\c++\ilk\ilk\ilk.cpp 5 ilk

     

    banami denk geliyor ? bunun neresinde hata var ? kitaptaki ilk ornegi bire bir yazdim !

    (visual studio 2008 kullaniyorum ) ...

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esquire
    Esquire's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    int _tmain(int argc, _TCHAR* argv[]) burası

    int main(int argc, _TCHAR* argv[]) şeklinde denedin mi?


    boş
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    Esquire bunu yazdı:
    -----------------------------

    int _tmain(int argc, _TCHAR* argv[]) burası

    int main(int argc, _TCHAR* argv[]) şeklinde denedin mi?

     


    -----------------------------

     

     

    yine ayni hata . olmadi ...

     

    This is a common mistake among C programmers who start coding in a new environment with a new compiler such as .NET 1.1 or .NET 2.0. You get the error because the iostream.h file is no longer used with these compilers, instead use the ISO compliant file iostream:

    #include ;

     

    yani visual net 2003 ve uzeri derliycilerde ".h" konulmamasi gerekmis . ama onuda yapinca cout ve cin komutlarini tanimiyor :S

     

    Error 1 error C2065: 'cout' : undeclared identifier c:\users\ ...............

    Error 2 error C2065: 'cin' : undeclared identifier c:\user...............................

     

     

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    tamam duzeldi .

     

    #include <iostream> olara degistirdim ve 

    using namespace std; ekledim . calisti ?

     

    ama using namespace mantigi nedir ?

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esquire
    Esquire's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    bende daha ilginç bir şey oldu büyük bir ihtimalle header dosyalarında bir ayarsızlık var.

    bu kod netbeanste çalıştı, dev cpp çalışmadı ve visual studioda da çalışmadı. garip bir durum.

    #include <iostream.h>
    int main()
    {
        int a=0,b=0, c=0;
        cout <<"Bir tam sayi giriniz";
        cin >>a;
        cout <<endl;
        cout <<"Ikinci bir tam sayi giriniz";
        cin >>b;
        c=a*b;
        cout <<"girdiginiz sayilarin carpimi="<<c<<endl;
        cin >>a;
        return 0;
    }

     


    boş
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    Esquire bunu yazdı:
    -----------------------------

    bende daha ilginç bir şey oldu büyük bir ihtimalle header dosyalarında bir ayarsızlık var.

    bu kod netbeanste çalıştı, dev cpp çalışmadı ve visual studioda da çalışmadı. garip bir durum.

    #include
    int main()
    {
        int a=0,b=0, c=0;
        cout <<"Bir tam sayi giriniz";
        cin >>a;
        cout <    cout <<"Ikinci bir tam sayi giriniz";
        cin >>b;
        c=a*b;
        cout <<"girdiginiz sayilarin carpimi="<    cin >>a;
        return 0;
    }

     


    -----------------------------

     

    yukarida belirttim , visual studio 2003 ve uzeri ( net framewrok 2 ve uzeri ) derleyicide <iostream> olarak yazilacakmis , gerci C:\programfiles\visualstudio\v9\VC\includes icinde iostream olarak kayitli yani iostream.h olarak kayitli degil, sanirim bu yuzden hata verdi , ayrica namespace'i ekledikten sonra sorunsuz calisti. namespace neden ekliyoruz ( gerci kitabin daha basindayim ) ...

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    #include <iostream>

    olacak sonuna .h koymaya gerek yok. Eski compilerlar da bu durum geçerliydi. Artık gerek yok.

    C# ta using System.Console dersiniz, sonra WriteLine(); fonksiyonunu istediğiniz gibi kullanırsınız.

    Eğer demezseniz her sefer System.Console.WriteLine(); demek zorunda kalırsınız.

    C++ ta da aynı şekilde durum, kullandığınız cout fonksiyonu std namespace i içinde o yüzden her sefer std::cout yazmak istemiyorsanız kodun başına using namespae std; ekleyeceksiniz.

    Kodun bazı platformlarda çalışması tamamen esneklikten kaynaklanıyor. Ama siz esnekliğe güvenmeyin işiniz sağlama alın derim ;)

     

     


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    Sscheme bunu yazdı:
    -----------------------------

    #include

    olacak sonuna .h koymaya gerek yok. Eski compilerlar da bu durum geçerliydi. Artık gerek yok.

    C# ta using System.Console dersiniz, sonra WriteLine(); fonksiyonunu istediğiniz gibi kullanırsınız.

    Eğer demezseniz her sefer System.Console.WriteLine(); demek zorunda kalırsınız.

    C++ ta da aynı şekilde durum, kullandığınız cout fonksiyonu std namespace i içinde o yüzden her sefer std::cout yazmak istemiyorsanız kodun başına using namespae std; ekleyeceksiniz.

    Kodun bazı platformlarda çalışması tamamen esneklikten kaynaklanıyor. Ama siz esnekliğe güvenmeyin işiniz sağlama alın derim ;)

     

     


    -----------------------------

    oncelikle tesekkur ederim ...

    o zaman std herhangi bir metin degil , programin istedigi islem .

     

    mesela namespace abc yazdigimizda program calisirmi ?

    (C# verdigin ornegi pek anlamadim . basit bir ornekle aciklarmisin ? )

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    std Standart ın kısaltması :) o yüzden abc çalışmaz.

    Kullandığın cout, cin gibi fonksiyonlar ve endl gibi değişkenler bu namespace in içerisinde tanımlıdır. O yüzden bu namespace i dahil etmeden o fonksiyonları kullanman az önceki durum gibi compiler ın insafına kalır.

    en basit haliyle C# ta kodun başına eklenen

    using System;
    using System.Data;
    using System.IO;

    gibi ifadelerin C++ karşılığıdır.

    Mesela C# ta

    MessageBox.Show() diyip bir şeyler gösteriyorsun. Bunu yapabilmen için kodun başına

    using System.Windows.Forms koymalısın. Çünkü kullanacağın MessageBox sınıfının Show() fonksiyonu o namespace içinde tanımlı.

    Kullanırken

    using System.Windows.Forms yazmazsan kodun başına

    System.Windows.Forms.MessageBox.Show("TBT");

    şeklinde kullanacaksın.

     

    C++ ta ise

    using namespace std;

    int main()

    {

    cout << "TBT" << endl;

    return 0;

    }

    yazarsın

    Yok ben using namespace eklemem diyorsan

    int main()

    {

    std::cout << "TBT" << std::endl;

    return 0;

    }

    Ben de yapıcam diyorsan en sade haliyle

    namespace tbt

    {

    int x = 25;

    }

    diye namespace i tanımladıktan sonra ister

    using namespace tbt;

    int main()

    {

    cout << x << endl;

    return 0;

    }

    şeklinde. İster

    int main()

    {

    cout << tbt::x << endl;

    return 0;

    }

    şeklinde kullan.

     

    Sana tavsiyem madem C++ a geçiyorsun; olduğun yerde bırak, önce Object Oriented Programming öğren. Yoksa sürekli bir şeyler yarım kalacaktır. OOP kullanmadan C++ ın bir manası yok. C ye baksan daha iyi.


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    maximuss
    maximuss's avatar
    Kayıt Tarihi: 14/Eylül/2005
    Erkek

    Sscheme bunu yazdı:
    -----------------------------

    std Standart ın kısaltması :) o yüzden abc çalışmaz.

    Kullandığın cout, cin gibi fonksiyonlar ve endl gibi değişkenler bu namespace in içerisinde tanımlıdır. O yüzden bu namespace i dahil etmeden o fonksiyonları kullanman az önceki durum gibi compiler ın insafına kalır.

    en basit haliyle C# ta kodun başına eklenen

    using System;
    using System.Data;
    using System.IO;

    gibi ifadelerin C++ karşılığıdır.

    Mesela C# ta

    MessageBox.Show() diyip bir şeyler gösteriyorsun. Bunu yapabilmen için kodun başına

    using System.Windows.Forms koymalısın. Çünkü kullanacağın MessageBox sınıfının Show() fonksiyonu o namespace içinde tanımlı.

    Kullanırken

    using System.Windows.Forms yazmazsan kodun başına

    System.Windows.Forms.MessageBox.Show("TBT");

    şeklinde kullanacaksın.

     

    C++ ta ise

    using namespace std;

    int main()

    {

    cout << "TBT" << endl;

    return 0;

    }

    yazarsın

    Yok ben using namespace eklemem diyorsan

    int main()

    {

    std::cout << "TBT" << std::endl;

    return 0;

    }

    Ben de yapıcam diyorsan en sade haliyle

    namespace tbt

    {

    int x = 25;

    }

    diye namespace i tanımladıktan sonra ister

    using namespace tbt;

    int main()

    {

    cout << x << endl;

    return 0;

    }

    şeklinde. İster

    int main()

    {

    cout << tbt::x << endl;

    return 0;

    }

    şeklinde kullan.

     

    Sana tavsiyem madem C++ a geçiyorsun; olduğun yerde bırak, önce Object Oriented Programming öğren. Yoksa sürekli bir şeyler yarım kalacaktır. OOP kullanmadan C++ ın bir manası yok. C ye baksan daha iyi.


    -----------------------------

     

    kitabin basi , kitap pek aciklayici olmamis acikcasi :( belki ileride aciklama yapmis olabilir .

     

    anlatimin icin ayrica tesekkurler ...

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    eger visual studio kullanıyorsan

    #include <iostream>

    using namespace std;

    int main()

    {

    int a, b, c;
    cout <<"Bir tam sayi giriniz"<<endl;
    cin >>a;
    cout <<"Ikinci bir tam sayi giriniz"<<endl;
    cin >>b;
    c=a*b;
    cout <<"girdiginiz sayilarin carpimi="<<c<<endl;
    cin >>a;
    return 0;

    }

    eger dev programını  kullanıyorsan

    yukarda yazdıgın gibi kodlar dogru olmalı. tabi orda count yazmısın onuda düzelt.


    https://www.youtube.com/watch?v=k6LrGZGqYn8
Toplam Hit: 3080 Toplam Mesaj: 14