大家好,欢迎阅读本文。今天,我就带大家一起来研究一下C++如何制作抽奖程序。
完整的源代码在文章最后,请耐心读完。
首先,我们先来了解一下C++如何抽取随机数。
因为C++中没有自带的random函数,所以要实现随机数的生成就需要使用rand()和srand()。
1.rand()
rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
for (int i = 0; i < 10; i++) {
cout << rand()%100<< " ";
}
return 0;
}
/*结果:
86 77 15 93 35 86 92 49 21
在100中产生随机数, 但是因为没有随机种子所以,下一次运行也是这个数,因此就要引出srand
*/
srand()
srand()可用来设置rand()产生随机数时的随机数种子。通过设置不同的种子,我们可以获取不同的随机数序列。
可以利用srand((int)(time(NULL))的方法,利用系统时钟,产生不同的随机数种子。不过要调用time(),需要加入头文件< ctime >。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
srand((int)time(0)); // 产生随机种子 把0换成NULL也行
for (int i = 0; i < 10; i++) {
cout << rand()%100<< " ";
}
return 0;
}
这样,多次产生的随机数就不一样了。
下面附带源码,功能还不算太完善,先凑合着用吧。后期有时间我再进行更改。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include<string.h>
#include <iostream>
#include<conio.h>
#define random(x) (rand()%x)
using namespace std;
void display(int x);
int main() {
srand((int)time(0));
int Num = 0;
cout << endl << endl << " 按键开始" << endl << " Press any key to Start";
_getch();
system("cls");
char c;
while(1){
Num = random(400);
display(Num);
Sleep(50);
if (GetAsyncKeyState('P')) { system("pause"); }
system("cls");
}
return 0;}
void display(int x) {
cout << endl << endl << " 按p键暂停" << endl << " Press ‘p’ key to Suspend";
cout << endl << endl;
cout << " luck Number:" << x <<endl<<endl<<endl;
}
好了,以上就是C++抽奖程序的源代码。感谢阅读!
另外,PET考试的6套真题可以免费领取,还有学而思网校的视频课程,全部享受空前优惠。
官网400元的课程现在仅需44元!
有需要的请联系QQ:3161233281(猛虎tr4)