ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:28.29KB ,
资源ID:4890129      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4890129.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C高级语言程序设计猜数字游戏.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C高级语言程序设计猜数字游戏.docx

1、C高级语言程序设计猜数字游戏高级语言程序设计课程设计说明书 设计题目:猜数字游戏 目录1. 游戏说明、12. 程序的模块组成、23. 程序流程、24. 程序源清单、25.课程设计总结、19课题:猜数字游戏说明:每次随机产生5个数字,提供10次机会,若猜中进入下一次猜数,每猜中一次奖励100分,可中途退出猜数游戏,可以累计分数,和产生积分榜 基本功能: 1.用户注册 2.用户积分查看 游戏流程设计思路: .新游戏退出游戏用户积分查看注册用户进入游戏1 给出提示与真确答案比较输入数字开始游戏 继续或退出游戏答案真确 1答案错误设计思路:1. 程序的模块组成:主函数、int mian创立结构体、st

2、ruct record 定义数组、char name 清除文本模式窗口、system(cls)2. 程序流程:分别用void定义开始界面display,操作函数sys(int a),记录文件recwrite(),浏览界面vdisplay(),读取文件recread() ,开始游戏newgame(),判断并增加记录addrec()。在用int mian主函数调用。 srand( (unsigned)time( NULL ),以时间为种子,产生随机数,更具有代表性,这样避免了随机出显的数字服从正太分布。3程序源清单:#include #include #include #include#inclu

3、de 2struct record char name10; int sorce;rec;int num; /输入的数字void display(); /开始界面void xuanze(); /选择函数void sys(int a); /操作函数void zhuce(); /用户注册void newgame(); /新游戏void vdisplay(); /浏览记录界面 int qushu(); /取数函数int tishi(int aa); /提示函数void addrec(); /判断并且增加记录void recread(); /读取记录文件void recwrite(); /写入记录文件

4、void main() 3 display();void display() /开始界面 system(cls); /清屏 printf( =n); printf( =数字竞猜游戏=n); printf( =n); printf(n); printf( 1: 新游戏n); printf(n); printf( 2: 注册用户n); printf(n); printf( 3: 用户积分查看n); printf(n); 4 printf( 4: 退出n); printf(n); printf( =n); xuanze();void xuanze() /选择函数 int a; printf(请输入你

5、所选择的操作数:n); scanf(%d,&a); if(a=1|a=2|a=3|a=4) sys(a); /选择相应的操作数执行函数 else printf(错误的操作数!n); printf(n); printf(请按任意键继续.n); getchar(); 5 getchar(); display(); void sys(int a) /操作函数 switch(a) case 1:newgame();break; case 2:zhuce();break; case 3:vdisplay();break; case 4:exit(0);break; /退出 void zhuce() sy

6、stem(cls); printf(请输入你的名字n); scanf(%s,&rec.name); 6 recwrite(); /写入 printf(恭喜!注册成功!n); printf(请按任意键继续.n); getchar(); getchar(); display();void recwrite() /写入记录文件 FILE *fp; fp=fopen(E:rec.rec,wb); if(fp=NULL) printf(写入失败!n); fwrite(&rec,sizeof(struct record),1,fp); fclose(fp);void vdisplay() /浏览记录界面

7、7 system(cls); /清屏 printf( =n); printf( =数字竞猜游戏=n); printf( =积分=n); recread(); printf(n); printf( 姓名: %s : 分数 %dn,rec.name,rec.sorce); printf(n); printf(请按任意键继续.n); getchar(); getchar(); display();void recread() /读取记录文件 FILE *fp; 8L: fp=fopen(E:rec.rec,rb); if(fp=NULL) recwrite(); goto L; /初始化 if(fr

8、ead(&rec,sizeof(record),1,fp)=1) else printf(文件读取失败!); fclose(fp);void newgame() /新游戏 recread(); system(cls); /清屏 9 printf(n); if (rec.name=0) printf( 请先注册用户n); printf(请按任意键继续.n); getchar(); getchar(); vdisplay(); / int snum; /输入的数字 int sn=10; /机会次数 num=qushu(); /取数L: system(cls); /清屏 printf( =n); p

9、rintf( =n); printf( =数字竞猜游戏=n); printf( =n); printf(n); printf( =n); printf( 姓名: %s : 分数 %dn,rec.name,rec.sorce); printf(n); printf( 按 1: 终止游戏,显示答案n); printf( =n); printf(n); printf(请输入你猜想的五个数字(格式为99999样式)你还有 %d 次机会:n,sn); scanf(%d,&snum); if(snum10000 | snum=1) if(snum=1) printf(你放弃了本局游戏!该五个数字是: %d

10、n,num); 11 printf(n); printf(请按任意键继续.n); getchar(); getchar(); display() ; else int flag=tishi(snum); if(flag!=0 & sn!=0) sn-; if(sn=0) printf(真是遗憾!十次机会没有了!没有关系!下次继续!n); printf(n); printf(请按任意键继续.n); getchar(); getchar(); newgame() ; 12 printf(请按任意键继续猜.n); getchar(); getchar(); goto L; else if(sn!=0

11、) addrec(); else printf(请按任意键继续.n); getchar(); getchar(); newgame(); else 13 printf(错误的操作数!n); printf(n); printf(请按任意键继续.n); getchar(); getchar(); goto L; int tishi(int aa) /提示函数 int a,b,c,d,e; int af,bf,cf,df,ef; if(aa=num) printf(恭喜!你猜对了!五个数就是:%dn,num); return(0);14 else a=num/10000; b=num/1000%10

12、; c=num/100%100%10; /获取输入的四个数字 d=num/10%1000%100%10; e=num%10000%1000%100%10; af=aa/10000; bf=aa/1000%10; cf=aa/100%100%10; /获取输入的四个数字 df=aa/10%1000%100%10; ef=aa%10000%1000%100%10; if(afa)printf(n第一个数应该比 %d 小一点!n,af); if(af=a)printf(恭喜!第一个数字对了!应该是: %dn,af); /数字比较 if(afb)printf(第二个数应该比 %d 小一点!n,bf);

13、 if(bf=b)printf(恭喜!第二个数字对了!就是: %dn,bf); /数字比较 if(bfc)printf(第三个数应该比 %d 小一点!n,cf); if(cf=c)printf(恭喜!第三个数字对了!就是: %dn,cf); /数字比较 if(cfd)printf(第四个数应该比 %d 小一点!n,df); if(df=d)printf(恭喜!第四个数字对了!就是: %dn,df); /数字比较 if(dfe)printf(第五个数应该比 %d 小一点!n,ef); if(ef=e)printf(恭喜!第五个数字对了!就是: %dn,ef); /数字比较 if(efe)prin

14、tf(第五个数应该比 %d 大一点!nn,ef); return(1); 16void addrec() /判断并且增加记录 int a; /标志位 a=100; recread(); rec.sorce= rec.sorce+a; recwrite(); printf(请按任意键继续.n); getchar(); getchar(); newgame();int qushu( ) /取数函数 int a=0; int i=0;17 srand( (unsigned)time( NULL ) ); /随机数种子设置 while(i=0) i=rand(); /这样做就是为了增加随机性 i=i%

15、100; L: for(int j=0;ji;j+) a=a+rand(); /判断随机数是否是五位数 如果不是继续取数 a=(a/i+rand()%100000; if(a10000)goto L; return(a); 183. 课程设计总结 这次的课程设计总算是告一段落,虽然源程序不是自己亲自全部完成,但是毕竟也花费了自己的很多精力,从开始的到网上查找资料,然后自己一点点的改正,调试,中间的好多问题自己都没有办法解决,也看不懂,也让自己知道光靠书本的那点知识是无法解决的,书本的知识毕竟是有限的。好多知识都得自己去学,而不是等着老师教。第一次完成这么大的一个完整的程序,让自己意识到了自己的知识欠缺。和以前课本上的许多知识没有学到位。有时候在电脑面前呆几个小时就是为了解决一个小问题,很是费时间和精力,更是让自己知道了基础知识的重要性,再复杂的程序也是从基础开始的,所以打好基础是关键! 19

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1