C++ kodundaki hata nedir?

Hidden AI

Centipat
Katılım
5 Aralık 2022
Mesajlar
88
Dosya ekte. Ne yaptıysam yapayım, şu aşağıdaki hatalardan kurtulamadım. Nerede hata yapıyorum?

Not: Hata ayıklamayı başlattığımda sadece sonucu "happy" olarak gösteriyor. Mesela "Angry" yazsam bile "I am happy too" diye çıktı veriyor.

Screenshot_1.png
 
Son düzenleyen: Moderatör:
Dosya ekte. Ne yaptıysam yapayım, şu aşağıdaki hatalardan kurtulamadım. Nerede hata yapıyorum?

Not: Hata ayıklamayı başlattığımda sadece sonucu "happy" olarak gösteriyor. Mesela "Angry" yazsam bile "I am happy too" diye çıktı veriyor.

Eki Görüntüle 1612203
"Happy, Sorry , Angry , neutral "değişkenlerinin içerisinde herhangi bir değer yok.
 
Değişkenleri int olarak alırsan sadece sayı girebilirsin. Değişkenlerin tipini string'e çevirince düzelmesi gerek.
"Happy, Sorry , Angry , neutral "değişkenlerinin içerisinde herhangi bir değer yok.
Değişken tipini arkadaşında dediği gibi string yapman lazım.

Gerçekten öyleymiş. Ancak string'e çevirince de bu sefer hiçbir şey yazmıyor:

Screenshot_2.png
 
C++:
#include <iostream>

using namespace std;

int main() {

string index;

cout << "01! Hi mate! HoWru doin '?" << endl;

cout << "I am";

cin >> index;

if (index == "happy"){

cout << endl << "I am happy too!";

}

else if (index == "sorry"){
cout << endl << "Sorry to hear that. I wish there is anything I can do" << endl;

}

else if (index == "angry"){
cout << endl << "Sorry to hear that. I wish there is anything I can do" << endl;
}
else if (index == "neutral"){
cout << endl << "Oh, There is always a good reason to be happy!" << endl;
}
}
Bu şekilde kullanabilirsin.
 
Değişkenlerini her zaman ilklendir. Class yazıyorsan member'ları ilklendir.

Bunu yaptığında burada alacağın hata std::string ile integer kıyaslaması yapıyor olman olacaktır. Onun için std::string kullanmanı söylemişler.

Kodundaki durum için switch-case kullanmak daha anlaşılır ve sade kod oluşturacaktır.
 

Yeni konular

Geri
Yukarı