我正在尝试完成家庭作业,我无法在任何地方找到它。我正在尝试将输入数字与随机生成的数字进行匹配,并显示5个中的多少是正确的(也有输入/输出消息)。这就是我到目前为止所提供的任何帮助。
#include <iostream>
#include <cstdlib>
using namespace std;
void main()
{
//variables
int lottery[5], user[5];
int count = 0;
int num1, num2, num3, num4, num5;
int winnum;
//generating numbers
for (int i=0; i <5; i++)
{
lottery[i] =1+rand()%9;
}
//input
cout << "Enter a digit between 0-9: ";
cin >> num1;
// ...
cin >> num5;
winnum = rand();
//display
cout << "Winning Lottery Numbers: " << winnum << endl;
cout << "Your ticket Numbers: "
<< num1 << num2 << num3 << num4 << num5 << endl;
//matching the numbers
//HELP!
system("pause");
}
答案 0 :(得分:3)
首先,只需输入user
的元素,而不是创建5个新变量。保持计数(记住将其初始化为0)你找到多少匹配。当用户输入每个号码时,您可以检查它是否与彩票号码匹配。如果是,请增加计数器。
其他一些事情:
不要 使用void main()
。请改用int main()
或int main (int argc, char *argv[])
。操作系统希望您的程序返回一些内容,如果在int main()
中未指定返回值,则返回main
,返回0(ERROR_SUCCESS)。
在程序开头调用srand (time (NULL));
(包括<ctime>
)。这会将种子设置为更改的值,以便rand
生成的伪随机数在每次运行程序时都不会相同。
当你user[5]
和lottery[5]
时,我真的不确定num1-5和winnum是什么意思。
您可以将system ("PAUSE")
替换为
cin.sync();
cin.get();
这比暂停要好得多,而且单独按cin.ignore()
和cin.get()
进行输入的次数不一致。
如果作业的一部分,您必须验证两个彩票号码是否相同。