问题描述
我正在尝试在 C++ 上制作这个猜谜游戏,我是初学者并且仍在学习。 我想要实现的是两个常量名称的猜谜游戏,非常简单没有错误,但在我输入内容后它不起作用。它应该报告,直到我找到正确的名称。也请我不想改变代码的结构,只是找出为什么不起作用。
#include <iostream>
#include <string>
using namespace std;
struct Vlerat {
string guess01 = "Resul";
string guess02 = "Rejan";
int numruesi = 0;
};
int main() {
Vlerat funksioni;
string nameGuess;
int nameOkay = 0;
cout << "Gjej njerin prej dy emrava te fshehura." << endl;
cout << "Ndihm: Fillojn me Shkronjen 'R',dhe pas asaj vjen edhe nje shkronj 'e'" << endl;
do {
cout << "Shkruaj Emrin > "; cin >> nameGuess;
if (nameGuess == funksioni.guess01){
cout << "Ju e keni gjetur emrin e njerit nga personat duke provuar gjithesej:";
cout << funksioni.numruesi++ << " here." << endl;
nameOkay++;
}
if (nameGuess == funksioni.guess02) {
cout << "Ju e keni gjetur emrin e njerit nga personat duke provuar gjithesej:";
cout << funksioni.numruesi++ << " here." << endl;
nameOkay++;
}
funksioni.numruesi++;
} while(nameOkay = 0);
}
解决方法
您应该将 fields
更改为 while(nameOkay = 0);
。
因为 while(nameOkay == 0);
是赋值,而 =
是比较(相等)运算符