【发布时间】:2015-05-28 01:59:14
【问题描述】:
我的密码猜测密码有问题。我想做一个只有电脑猜测和答案的游戏。我试图编写代码,但结果是无限循环。
这是我的代码:
#include <cstdlib>
#include <time.h>
#include <iostream>
using namespace std;
int main() {
int lowest = 0;
int highest = 9;
srand(time(0));
int number;
number = rand() % 9+1;
int guess;
guess = rand() % 9+1;
do {
if (number){
switch(number)
{
case 1:
if(guess>lowest)
lowest=guess;
do {
guess=rand()%9 +1;
}while(guess<lowest || guess>highest);
break;
case 2:
if(guess<highest)
highest=guess;
do {
guess=rand()%9 +1;
}while(guess<lowest || guess>highest);
break;
case 3:
cout<<"\n\n\aHA! I got it right"<< endl;
break;
}
if (guess < number){
cout << "Your guess is less than secret number"<<endl ;
}
else if (guess > number){
cout << "Your guess is high than secret number"<<endl ;
}
else
cout << "Your guess is right!" << endl;
}
} while (guess != number);
return 0;
}
请帮我解决这个问题。
【问题讨论】:
-
检查您在 switch 语句中测试的值。除非猜测是 1,2 或 3,否则代码永远不会进入开关,也不会选择新数字。即使你得到 1、2 或 3,结果也几乎肯定不是你想的那样。
-
你认为
switch(number)会做什么?
标签: c++ numbers artificial-intelligence