伪数字生成错误

Pseudo- andom number generation error

本文关键字:错误 数字      更新时间:2023-10-16

我是开发领域的初学者,我面临着C++语言中的伪代码随机错误的问题。我认为我的程序中的错误是: { srand(time (NULL)); }

请帮助我如何删除此错误和错误原因。我开发的程序如下,

#include<iostream>
using namespace std;
main()
{
       int lowerRange;
       int upperRange;
       lowerRange=1;
       upperRange=1;
       int secretNumber;
       int guess;
       guess=10;
       cout<<"My Student ID is BC130400789 "<<endl;
       cout<<"Enter lower range : ";
       cin>>lowerRange;
       cout<<"Enter upper range : ";
       cin>>upperRange;
       cout<<"Computer is calculating a random secret number in the given range...Done!"<<endl;
       cout<<"nPlease guesss the secret number in the range ["<<lowerRange<<" - "<<upperRange<<"]: ";
       cin>>guess;
       if(guess<10)
       {
                    cout<<"You won! You guess the correct number.. ";
                    }
        else 
        {
             cout<<"Oooppsss...Your entered number is too high...Computer won"<<endl<<endl;
            }

            { srand(time (NULL));}

             secretNumber = rand()%10+1;
             cout<<"Secret number was: "<<secretNumber<<endl<<endl;
             }
                         system("pause");
       }
  1. 主要必须返回 INT
  2. rand() 是在 cstdlib 中定义的,你不包括它
  3. 您还需要包含 ctime for time 函数
  4. 正如 G. Samaras 所说,您不应该使用 system("暂停")(您也不包括所需的标头),并且您的{}不匹配。

我还建议您阅读有关代码格式的一些内容。

最后还有一个额外的括号。删除此和system("pause");,您将不会收到任何错误。此外,main()通常返回一个int,因此使其int main()


系统("暂停"); - 为什么错了?