C++函数无法正确调用主函数

C++ Function wont call into main properly

本文关键字:函数 调用 C++      更新时间:2023-10-16

现在我确定答案很简单。 我对编码很陌生,似乎无法将函数正确调用到主函数中。 以下是我试图实现的目标:该函数应该将用户输入与另一个随机生成数字的函数进行比较,重点是将随机化和用户输入保持在两个不同的函数中。 这是代码。 谢谢大家!

#include <random>
#include <string>
using namespace std;
std::random_device seed;
std::mt19937 mersenneTwister(seed());
int RandomInt(int min, int max);
int GuessNum(int NumGuessed);
int main() 
{
int MagicNumber = RandomInt(1, 100);
int GuessNum(int MagicNumber);



}
int RandomInt(int min, int max)
{
std::uniform_int_distribution<int> distribution(min, max);
return distribution(mersenneTwister);
}
int GuessNum(int NumGuessed)
// supposed to ask for user input in main?
{
int guess = 0;
cout << "Guess what number did the computer generaten";
cin >> guess;
if (guess == NumGuessed)
{
cout << "You winn";
}
else if (guess > NumGuessed)
{
cout << "Highern";
}
else if (guess > NumGuessed)
{
cout << "Lowern";
}
else if (guess < 1 || guess > 100) {
cout << "invalid inputn";
}
return 0;
}
int MagicNumber = RandomInt(1, 100);

调用随机输入,而

int GuessNum(int MagicNumber); 

在主函数中声明一个函数。您需要使用以下命令调用它:

int res = GuessNum(MagicNumber);
  1. 要在main()中调用函数GuessNum(),您需要编写GuessNum(MagicNumber); 。这个int GuessNum(int MagicNumber);是一个宣言。

  2. 您需要包含<iostream>才能使用std::cout

  3. 犯了一个粗心的错误:你写了两次else if (guess > NumGuessed)

  4. 您在分支中存在逻辑问题。在用NumGuessed测试guess进行==<>测试后,您已经用尽了所有可能性,然后测试if (guess < 1 || guess > 100)毫无意义。重新排列分支。