Игра в угадайку CPP не работает, она останавливается после того, как я ввожу имя

#c #c #cppcheck

Вопрос:

Я пытаюсь сделать эту игру kina guess на 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);
}
 

Комментарии:

1. nameOkay = 0 должно быть nameOkay == 0

2. nameOkay = 0 это задание. nameOkay == 0 было бы сравнение

Ответ №1:

Тебе следует переодеться while(nameOkay = 0); в while(nameOkay == 0); . Потому = что является назначением, но == является оператором сравнения (равенства)

Читайте об этом здесь

И вот