我写了一个简单的C++程序:
#include <iostream>
using namespace std;
int main()
{
string nama = "";
string jawabsalah = "";
cout << "Hai, siapa nama kamu?: " << endl;
cin >> nama;
cout << "hallo " << nama << "! apa kabar kamu hari ini? " << endl;
cout << "Baik atau buruk?: " << endl;
string mood_hari_ini = "";
cin >> mood_hari_ini;
if (mood_hari_ini == "buruk") {
cout << "Aduhh kasian kamu, yang sabar yaa.. :c " << endl;
}
if (mood_hari_ini == "baik") {
cout << "wahhh syukurlahhh.. ^^ " << endl;
}
cin >> jawabsalah;
if (jawabsalah == jawabsalah) {
cout << "Kok malah jawab " << jawabsalah << "? kan aku nanya nya baik apa burukk >< " << endl;
}
return 0;
}
但似乎我必须输入2个输出才能让代码工作,也就是这一部分:
cin >> jawabsalah;
if(jawabsalah == jawabsalah){
cout << "Kok malah jawab " << jawabsalah << "? kan aku nanya nya baik apa burukk >< " <<
endl;
我知道这是在印度尼西亚,但可以请人帮助。
2条答案
按热度按时间guz6ccqo1#
如paddy所述:
使用
std::getline
而不是使用格式化的字符串输入很可能是可以修复的。通常,您希望使用行尾来分隔输入,而不是任何空格字符。您可能需要输入2次的原因是因为您在输入中放置了一个空格,并且您不应该在
cin
中使用它。在这种情况下,你会想做一些类似的事情:
它看起来也不像你在这部分之前要求提示:
正如一些人所指出的,你可能不需要
if
语句,因为它总是true
,试着与不同的东西进行比较:pgx2nnw82#
cin >> jawabsalah;
读取一个字符串,所以当然需要输入第二个字符串。(And
jawabsalah == jawabsalah
始终为真。)基于一些快速的在线翻译,我猜如果
mood_hari_ini
既不是"buruk"
也不是"baik"
,那么您需要最后的输出(“我问它是好还是坏”)。使用带有条件的
else
分支来完成此操作: