1、 VCVC课程设计报告课程设计报告 课课 程程 : VC+VC+课程设课程设计计 选题名称选题名称 : 福彩游戏福彩游戏 一、程序设计要求 (1)定义一个福彩类,封装计算机开出的大奖号码及开奖过程 函数和输出大奖号码的函数。 (2)定义一个用户类,封装用户输入的数字和用户所拥有的彩 金。初始化彩金为 100 元。每次下注 2 元,可以多次下注,具体赢 得大奖或二等、三等奖的奖金由自己设置,累加到用户的彩金中; 二等奖或三等奖的规则也由自己设置。其中,用户的输入的数字与 福彩号码的比较函数定义为福彩类的友元函数。 (3)程序只要不选择退出且彩金允许就可以反复下注。 二、程序设计思想 (1)类的封
2、装 改程序的数据结构比较简单,主要数据就是彩金和大奖号码,因 此,只要将与这两个数字相关的操作封装起来即可。 class CCustomer /定义用户类 private: int nMoney; /用户彩金 int nRank; /中奖的等级 int Welfare6; /福彩投注号码 public: CCustomer( ); /构造函数 int SetWelfare( ); /接收福彩投注,成功返回 1 void Compare(CWelfareLot /比较福彩,赋值中奖等级 void Show( ); /根据中奖等级计算奖金,输出结果 ; class CWelfareLot /定义福
3、彩类 private: int LotNum6; /大奖号码 public: CWelfareLot( ); /构造函数 void SetLot( ); /开奖过程 void PointLot( ); /输出大奖号码 friend void CCustomer :Compare(CWelfareLot for(int i=0;ireply5; if(reply5=y|reply5=Y) char ch; int i=0; coutx; /输入所选的游戏规则 while(x!=1 /重新输入数字 switch(x) /根据输入的数字来确定游戏规则 case 1: rule=6;break; ca
4、se 2: rule=4;break; case 3: rule=2; coutReply3; while(Reply3!=e /重新输入字符 switch(Reply3) /根据输入的字符初始化数字范围确定游 戏难易 case e: level=20;break; case h: level=40; int getgamenbr() /根据时间初始化随机数种子并产生随机数 int ran; srand(unsigned)time(NULL); ran=rand()%level+1; /在已确定的范围内产生随机数 return (ran); void wait(int milli) /延时函数
5、,产生多个种子 clock_t start; start=clock(); while(clock()-start)bet; if (bet numj) /检验输入的字符是否 符合条件 cin.clear(); /清除错误字符 while (!(cin.get() =n) /提取完在缓冲 区中的字符或字符串 continue; cout PowerBall; /输入 PowerBall号码 char ans; coutans; int panduan=0; if(ans=Y|ans=y) char gao20; /验证密码 char ch; int i=0; coutcp_numj; pand
6、uan=1; else cout Reply2; /输入字符以确定是否要继续 play=play + 1; /局数加一 ball+; /记录总共玩的局数 while( Reply2=y|Reply2=y); /当输入y字符时继续游戏否则 循环结束 gameover(); friend int isMatch(int test, int cp_num); /将用户的输入的数 字与福彩号码的比较函数定义为福彩类的友元函数 ; int isMatch(int test, int cp_num ) /test 为所要判断的数字 int match = 0; /记录得分 for (int i=0; i6;