Şimdi Ara

Arkadaşlar c++ da kodumu çalıştırdığında hata alıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
10
Cevap
0
Favori
600
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar c++ da kodumu çalıştırdığında hata alıyorum
    Sorun şu
    #include <iostream>
    using namespace std;

    int main()
    {
    kullanicikismi:char girilenkullaniciadi[100];
    char kullaniciadi1[5] = "isim";

    cout << "Kullanici adinizi giriniz :";
    cin >> girilenkullaniciadi;

    [font="Courier New"]if (kullaniciadi1 == girilenkullaniciadi) {
    cout << "dogru girdiniz";
    }[/font]

    else if (kullaniciadi1 != girilenkullaniciadi) {
    cout << "yanlis girdiniz\n";
    goto kullanicikismi;
    }
    sifrekismi :int asilsifre, girilensifre;
    asilsifre = 1234;
    cout << "\nSifreyi giriniz :";
    cin >> girilensifre;
    if (asilsifre == girilensifre) {
    cout << "dogru girdiniz tebrikler!\n";
    }
    else if (asilsifre != girilensifre) {
    cout << "yanlis girdiniz.\n";
    goto sifrekismi;
    }
    system("PAUSE");
    return 0;
    }


    fontu değiştirilmiş kısmı atlıyor çalıştırdığımda neden?







  • string kullan. Ör.

    string girilenkullaniciadi;
  • denedim ama bu sefer de hata veriyor?
  • char değişkenlerini string yapınca bende çalıştı, SS'li. Char değişkeni olunca tahminen [100] ' karşılık [5] uzunluğunda iki deişkeni karşılaştırıo, string olunca dize içeriklerini karşılaştırıyor.

    Arkadaşlar c++ da kodumu çalıştırdığında hata alıyorum

    < Bu ileti mini sürüm kullanılarak atıldı >
  • sanırım vs stduio da bir sorun var çünkü aynı kodları çalıştırınca şu hatayı veriyor:
    Önem Derecesi	Kod	Açıklama	Proje	Dosya	Çizgi	Gizleme Durumu
    Hata C2679 ikili '>>': 'std::string' türünde bir sağ taraf işleneni alan hiçbir işleç bulunamadı (veya hiç kabul edilebilir dönüştürme yok) ConsoleApplication3 c:\users\mkaan\source\repos\consoleapplication3\consoleapplication3\consoleapplication3.cpp 14

    sorunu gösterdiği yer şurası :"cin >> girilenkullaniciadi;"



    < Bu mesaj bu kişi tarafından değiştirildi teyti -- 18 Ocak 2018; 13:19:12 >
  • getline(cin, girilenkullaniciadi);
  • Çok teşekkürler sorunum çözüldü :)
  • Microsoft C++ derleyicisi string girişlerini elektro_gadget'ın bahsettiği şekilde alıyor. C++ haricinde diğer dillerde de derleyiciler arasında bunun gibi farklılıklar olabiliyor.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • c tipi string'ler karakter dizileridir. diziler de pointer'larla ifade edildiğinden sen aslında pointer'ları karşılaştırmış oluyorsun. dolayısıyla diziler karşılaştırılamaz. strcmp(girilenkullaniciadi, kullaniciadi1) ile string içeriklerini karşılaştırabilirsin. (bunun için #include <cstring> kütüphanesini eklemelisin.)

    amma velakin, eğer c++ kullanıyorsan c tipi string'ler yerine c++ kütüphanesine ait string'leri kullanman daha doğru olur. yani char [] str yerine string str kullanmalısın. c++ eğitimi verdiğini iddia eden üniversitelerimizin aslında c dilini öğretmeleri anlamsız.

    son bir not daha, goto-label yapılarını kullanmak yerine döngüler kullanmalısın.



    < Bu mesaj bu kişi tarafından değiştirildi Wheel -- 26 Ocak 2018; 13:52:42 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.