C++ C++;如果else不能给出正确的结果,则进行随机搜索和编码
我没有收到对我的代码的正确响应。当我输入正确的数字时,它应该给出“极好的”;但是,它总是输出“不正确”-请建议C++ C++;如果else不能给出正确的结果,则进行随机搜索和编码,c++,C++,我没有收到对我的代码的正确响应。当我输入正确的数字时,它应该给出“极好的”;但是,它总是输出“不正确”-请建议 #include <iostream> #include <ctime> using namespace std; int guess() { int x = 0; x = 1 + rand() % 1000; return x; } int main() { int input = 0; srand( time( 0
#include <iostream>
#include <ctime>
using namespace std;
int guess()
{
int x = 0;
x = 1 + rand() % 1000;
return x;
}
int main()
{
int input = 0;
srand( time( 0 ) );
cout << guess() << endl;
cout << "I have a number between 1 and 1000. " << endl;
cout << "Can you guess my number? " << endl;
cout << "Please type your first guess. " << endl;
cin >> input;
if (guess() == input)
cout << "Excellent! You guessed the number! " << endl;
else
cout << "Incorrect! " << endl;
system ("pause");
return 0;
}
#包括
#包括
使用名称空间std;
int guess()
{
int x=0;
x=1+rand()%1000;
返回x;
}
int main()
{
int输入=0;
srand(时间(0));
cout您调用了两次函数guess()
,因此每次运行时它可能会给您不同的值。您必须存储该值,然后将其与原始值进行比较。这并不能解决问题,但要养成用有意义的值初始化对象的习惯,而不是初始化并立即覆盖该初始化。在这种情况下,这意味着更改gint x=0;x=1+rand()%1000;
到int x=1+rand()%1000;
(我个人甚至会在这里使用一个变量:返回1+rand()%1000;
,但这更像是一种风格)几年前,我有幸在一个编码标准中偶然发现了一条奇怪的规则:返回语句中没有算术。几年前,一位程序员发现编译器中有一个错误,在返回语句中生成了64位数学的错误汇编。编译器供应商对修复这个错误不感兴趣,b但是他们确实在下一个版本中修复了它,开发团队不能仅仅转储编译器并使用另一个编译器,因此管理修复被附加到代码审查上。直到今天,出于习惯,我很少在return语句中做任何有意义的事。