我不明白到底有什么问题。即使有一个 while 循环,最终的尝试次数也是 9 次。我希望它检查猜测是字符串中的坐标之一,但它永远不会起作用。 :/
我应该把 if 语句移到哪里?
int main() {
int guesses, destroy, numAttempts = 11;
string guess, i;
string coordinate[3] = {"B1", "C4", "D3"};
cout << "Enter in a coordinate between A-1 and D-4 (i.e. C4): ";
cin >> guess;
guesses = 0;
destroy = 0;
while (guess != coodinate[i] && guesses < numAttempts - 1) {
cout << "Target missed. Try again: ";
cin >> guess;
guesses++;;
}
if (guess != coordinate[i])
cout << "Failed!";
else
cout << "Congrats!";
/*if (guess == coordinate) {
cout << "Target hit! Next target: ";
cin >> guess;
destroy++;
guesses++;
}
*/
}
最佳答案
您忘记增加 i
.. i++
(至少,我假设您是?)。
可能是错误的一部分。
如果您确实必须增加 i,请确保它不会超出范围..
guess = input ;
guesses = 0;
while (guesses < numAttempts && guess != coodinate[i] ) {
cout << "Target missed. Try again: ";
cin >> guess;
guesses++;
i = (i+1)%3;
}
关于c++ - 字符串/数组情况 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16265048/