文字列条件またはタイマー条件のいずれかが満たされたときに、プログラムがループから抜け出し、目的の出力を出力する while ループを作成しようとしています。また、目的の出力を印刷すると、出力には回答を比較する前後の時間差が含まれます。
しかし、ループは期待どおりに実行されません。では、このコードのどこに問題があるのか を理解するのを手伝ってくれる人はいますか?
以下は私のコードです:
void startGame(time_t cd,int gl){
string guessWord;
time_t start, end, diff,timeLeft;
cout << "Scrambled word is " << randomizeWord(gl) << endl;
while (timeLeft != cd || guessWord.compare(originalWord) == 0)
{
start = time(0);
cout << "You have " << cd << " seconds to guess." << endl;
cout << "Enter guess : ";
cin >> guessWord;
end = time(0);
diff = end - start;
//total_time = total_time + diff;
timeLeft = cd - diff;
if(guessWord.compare(originalWord) != 0)
{
cout << "WRONG! Attempt ... You have " << timeLeft << "seconds left... Try Again" << endl;
cout << "Enter guess : ";
cin >> guessWord;
}
else
{
cout << "You are CORRECT! "<< timeLeft <<" seconds left. Your timing is "<< diff <<" seconds." << endl;
break;
}
}
}