我是C++编程的新手,参加我的第一门课程。这应该是一个非常简单的程序,目标是让程序从输入流中读取一个数字并且不显示它。接下来,请用户尝试猜测数字;给他们三个猜测。各种输出应显示用户从未猜测正确,在第一次猜测,第二次猜测和第三次猜测时正确猜测。输出应该读的东西,如:在C++中创建一个猜谜游戏
I am thinking of a number between 1 and 10.
Can you guess it within 3 guesses?
Enter guess #1: 6
Enter guess #2: 7
Enter guess #3: 8
You lose! The number was 5
I am thinking of a number between 1 and 10.
Can you guess it within 3 guesses?
Enter guess #1: 66
Please try again Enter guess #1: 67
Please try again Enter guess #1: 68
Please try again Enter guess #1: 6
Enter guess #2: 7 Enter guess #3: 8
You lose! The number was 5
的问题,我有被猜测是否正确或错误,将连续印出你输了!这个数字是......或者如果猜测是正确的,它会做某件事。另外,如果猜测它在1和10之外,它会连续打印出来。请再次尝试以及丢失声明。这是我迄今为止的代码,我只创建了第一个猜测的代码,直到它正确执行。
任何意见将不胜感激。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
int guess;
int guess2;
int guess3;
int ran;
srand(time(0));
cout << "I am thinking of a number bewteen 1 and 10." << endl;
cout << "Can you guess it within 3 guesses?" << endl;
cin >> guess;
cin >> guess2;
cin >> guess3;
ran = ((rand() % 9) + 1);
cout << ran << endl; //remove***********
cout << "Guess #1: " << guess << endl;
while(guess < 1 || guess > 10) {
cout << "Please try again" << endl;
}
while(guess != ran) {
cout << "You lose! The number was " << ran << endl;
}
while(guess == ran) {
cout << "You win! The number was " << ran << endl;
}
return 0;
}
'while(guess!= ran)'会一直持续到'guess == ran'。循环体中没有任何内容可以改变'guess'或'ran'。这就是我们所说的无限循环。你可能需要'if'而不是'while'。 – Chad
谢谢,我更改为if语句并且它的效果更好,但是如果它能够在第一次猜测中正确猜测,然后停止在第二次以便进行正确猜测,并且如果它在1和10以外如何重新开始,我该如何停止猜测1? – sdfg