如何解决有什么方法可以简化此代码? &像我显示的示例代码一样插入布尔值会更好吗?
这是我的代码,该代码从0到10之间选择一个随机数供用户猜测。
//guess the number game
//my code
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
unsigned int secretNumber;
int guess;
int maxNumber = 10;
int maxTries = 4;
int numTries = 1;
srand(static_cast<unsigned int>(time(0)));
secretNumber = (rand() % 10)+ 1;
cout << "GUESS A NUMBER FROM 0 TO 10!!\n";
do {
cout << "\nGuess: \n";
cin >> guess;
if (guess < secretNumber)
{
cout << "too low:(:(!! ";
numTries++;
cout << "Guesses Left: " << maxTries - numTries;
} ***//Would it be better to add a bool in the condition?***
else if (guess > secretNumber && guess <= maxNumber)
{
cout << "Too high:D:D!! ";
numTries++;
cout << "Guesses Left: " << maxTries - numTries;
}
else if (guess > maxNumber)
{
cout << "Do you know how to count to 10?\n";
cout << "Only from 0 TO 10!! ";
numTries++;
cout << "Guesses Left: " << maxTries - numTries;
}
else {
cout << "WOW! you GUESSED IT?! AMAZING!!!!";
cout << "You're right! the number is " << guess;
cout << "\nYou got it right in " << numTries << " guesses!!!";
}
if (numTries == maxTries)
{
cout << "\n\nYou LOOSE :( LOL!";
}
} while (guess != secretNumber && maxTries != numTries);
return 0;
}
这是教师的代码,它更简单并且包含bool变量。 我以前的代码应该像这样简单吗?
// Example program
// Teacher's code
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int secretNumber = 7;
int guess;
int numTries = 0;
int maxTries = 3;
bool outOfGuesses = false;
while (secretNumber != guess && !outOfGuesses)
{
if (numTries != maxTries)
{cout << "Guess a Number: ";
cin >> guess;
numTries++;}
else
{
outOfGuesses = true;
}
}
if (outOfGuesses)
{
cout << "You loose!";
}
else
{
cout << "You win!";
}
return 0;
}
//我的代码是否像老师的代码一样高效和简单? //是否有更简单的方法可以完成我打算在代码中执行的操作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。