1、Vc+课程设计 福彩游戏 1 C+程序设计报告 20112011 年年 3 3 月月 课题名称:福彩游戏 难易等级: 姓 名: 学 号: Vc+课程设计 福彩游戏 2 一、一、程序功能简介程序功能简介 这是一个类似于福彩的游戏程序。游戏玩家输入自己的 名字和吉祥数字,计算机由此初始化随机发生器,然后玩家 输入范围内的 6 个数字,并判断输入是否有效。若无效,则 发出错误信息并退出;若有效,则和计算机产生的该范围内 的 6 个数字比较,若全部匹配,则玩家赢,否则玩家输。 二程序设计要求二程序设计要求 (1)定义一个福彩类 CWelfareLot,封装计算机开出的大 奖号码及开奖过程函数和输出大奖
2、号码的函数。 (2)定义一个用户类 CCcustomer,封装用户输入的数字 和用户所具有的彩金, 初始化彩金为 100 元, 而每注为 2 元, 可以多次下注,具体赢得大奖或二等、三等奖的奖金由自己 设置,累加到彩金中;二等奖、三等奖的规则也由自己设置。 其中用户的输入的数字与福彩号码的比较函数定义为福彩 类的友元函数。 (3)程序只要不选择退出且彩金允许就可以反复下注。 三具体三具体 (2)类的封装 先定义一个用户类 CCustomer,并定义其用户的彩金及中 奖等级,用 nmoney,nrank 来表示,最重要的是定义一个友 元函数 Compare () , 用来比较用户的输入的数字和福
3、彩号码。 定义一个福彩类 CwelfareLot,将大奖号码放入数组 Vc+课程设计 福彩游戏 3 truematch 中,定义开奖过程函数 play() ;及友元函数 Compare。 (3)开奖过程的编写 将程序加以改进,使随机数不断变换显示,最后停在大奖 的号码上。并且让玩家选择游戏的难易程度,随机产生大奖 号码。具体程序如下: int CWelfareLot:getgamenbr(char c) int num; if(c=h|c=H) for(int i=0;in; if(n0 return 0; void CWelfareLot:PrintLot() for(int a=0;a n
4、umj) cin.clear(); while (!(cin.get() !=n) continue; cout num5; fucai.SetLot(); cp_num0=getgamenbr() ; cp_num1=getgamenbr() ; cp_num2=getgamenbr() ; cp_num3=getgamenbr() ; cp_num4=getgamenbr() ; cp_num5=getgamenbr() ; truematch0= isMatch(num0,cp_num); Vc+课程设计 福彩游戏 9 truematch1= isMatch(num1,cp_num);
5、truematch2= isMatch(num2,cp_num); truematch3= isMatch(num3,cp_num); truematch4= isMatch(num4,cp_num); truematch5= isMatch(num5,cp_num); cout Reply2; play=play + 1; while (Reply2=y|Reply2=y); cout“nThank you for playing PowerBall “name“! :-)“endl; exit (1); Vc+课程设计 福彩游戏 10 return 0; int isMatch(int test, int cp_num ) int match = 0; for (int i=0; i5; i+) if (test = cp_numi) match = 1; cout “n“; return match; int getgamenbr() return (rand() % 48) + 1;