CPP 猜谜游戏不工作,输入名称后停止

问题描述

我正在尝试在 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); 是赋值,而 = 是比较(相等)运算符

Read about it here

And here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...