




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为Word版,下载可任意编辑C语言猜数游戏实验报告 一、 课程设计的目的 .2 二、 设计的内容与要求 .2 三、 总体设计 .2 四、 具体设计 .3 五、 调试与测试 . .9 六、 课程设计的总结 .12 七、 附录 .13 3 在本次的课程设计中,由我和肖玉闫合作完成,我主要负责编写程序。 对于流程图我主要负责:产生随机数函数,成果推断函数,用户输入函数,排序函数,比较函数。 一、 课程设计的目的 1. 巩固和加深同学对 C 语言课程的基本学问的理解和把握 2. 把握 C 语言编程和程序调试的基本技能 3. 利用 C 语言进行基础的软件设计 4. 提高运用 C 语言解决实际问题
2、的力量 二、 设计的内容与要求 1. 随机产生一个五位数,且没有重复数字 2. 猜数是给出大小提示 3. 记录猜数的次数,最终给出评分 三总体设计 (1)整个猜数嬉戏分为 3 个模块: 1.开头嬉戏; 2.关心界面,介如何进行嬉戏; 3.退出嬉戏。 (2)算法描述: 1.主函数 main():清屏之后运行 fun 函数; 2.随机数函数 rn():产生一个没有重复数字的五位随机数; 3.排序函数 choise():对数组进行排序; 4.用户输入函数 input():用户可以输入一个五位数; 5.比较函数 compare():对用户输入的五位数与系统产生的五位数进行比较; 6.成果函数 grad
3、e():依据用户输入的次数进行打分; 7.欢迎界面函数 welcome():打印出一个欢迎界面; 8.选择执行函数 fun():依据用户的选择来执行对应的功能; 四具体设计 数据的组织描述,系统掌握流程图,程序的代码的对应解释。 main()函数 清屏 打印欢迎界面 getch() fun() 结束 rn 函数 int b,d;long int c; unsigned long int a;int array5 a 接收产生的随机数;c=a 将 c 的各个位上的数字放入数组 array5中 用 choise 函数对 array 进行排序 推断 array 数组的各个数是否相同 是 return
4、 a 否 结束 choise 函数(int *num,int n) int j,k; i=1 k=numi;j=i-1j0numik? 是 numj+1=numj; j-; numj+1=k 否 结束 input 函数(long int a) int c=0;long int b 输出打印相应提示 输出打印次数:c+1; 用户输入五位数,用 b 接收; c+; b=0? compare(a,b)=1? 否 是 是 retun c 结束 否 c67? 给出失败提示; gc(); 是 fun 函数 compare 函数(long int a,long int b) int c ab? ab? a=
5、b? 给 出 大于提示; c=0 给 出 小于提示; c=0 给 出 等于提示; c=1 return c 结束 是 是 是 否 否 否 grade 函数(int num) int grade=o num4? num8? num68? grade=100-10*(num-1) grade=80-5*(num-4) grade=60-(num-7) 依据用户输入次数给出提示 是 结束 否 是 否 是 五,调试与测试 调试 1. 在编程当中,由于要书写大量的程序,所以常常消失一些小错误; 2. 对变量的定义有时会消失错误,比如将 long int 型写成 int 型; 3. 最重要的是函数的应用,
6、函数应当应用得当,否则会消失很大的错误。 测试 开头界面: 菜单: 六 课程设计的总结 通过这个课程设计,我们更加坚固的把握了书本上的学问,并对于以前并不熟识的学问有了更加深刻的了解。在完成此次课程设计的过程中,虽然花费了大量的精力,但带给我更多的收获。C 语言是一门实践课,可以说只有自己亲自操作,才能感受到他的魅力。 此次编程设计中,涉及到很多书上没有的学问,而我通过此次设计把握了这些学问。输入与调试程序是相当枯燥的,但构思和完善程序的过程是相当好玩的,无论怎么样,当你亲自完成了一个程序时,还是相当有成就感的。 此次任务的完成,也体现了同学之间的团结精神,实践是检验真理的唯一标准,没有实践,
7、就不会发觉和深刻体会他的真实存在。只有通过检验的真理,在自己的心里,才会认可他的真实性。理论与实际的相结合才能真正把握所学和所把握的学问。同时培育了我们的团队精神,使我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。 总的来说,C 语言是一门特别好玩的学科,可以通过人为的设计而让电脑来帮助性的做一些机械的东西。在今后的学习过程中,我也将更加的仔细学习 C 语言,盼望能在今后完成设计出一个属于自己的有意思的程序。 参考书目 1 标准 C C 语言基础教程英文版 第四版 M, ,( ( 美) ) 布朗森著出版 社:电子工业出版社 2021年 附录: 程序清单 #include
8、stdio.h #include math.h #include stdlib.h #include time.h int i; long int rn(); void fun(); void gc(); int input(long int); void grade(int); int welcome(); int compare(long int,long int); void choise(int *,int); void main() system(cls); printf(nnntt* * * * * * * * welcome * * * * * * * *); printf(nn
9、n); printf(tttmaker: xiachao xiaoyuyan); printf(nnntttuse enter to be continue); getch(); fun(); void fun() int b,s,g; long int a; system(cls); s=welcome(); if(s=1) system(cls); a=rn(); b=input(a); grade(b); gc(); if(s=2) system(cls); printf(nnnnn); printf(t -n); printf(t|game rules: |n); printf(t|
10、|n); printf(t|input your number(10000-99999),it will compare to the |n); printf(t| |n); printf(t|systems number(10000-99999),and the number doesnt have|n); printf(t| |n); printf(t|same digit. |n); printf(t| |n); printf(t|if your number as same as system,your win,else try again.|n); printf(t| |n); pr
11、intf(t -); gc(); if(s=3) printf(nntttThanks for your using.n); printf(ttttBye Bye!); getch(); exit(0); long int rn() int b,d; long int c; unsigned long int a; int array5; time_t t; time(t); srand(t); loop1:a=10000+rand() % 90000; c=a; for(i=0;i5;i+) arrayi=c%10; c=c/10; choise(array,5); b=array0; fo
12、r(i=1;i5;i+) if(b=arrayi) goto loop1; else b=arrayi; return a; void choise(int *num,int n) int j,k; for(i=1;in;i+) k=numi; j=i-1; while(j=0)(numjk) numj+1=numj; j-; numj+1=k; int compare(long int a,long int b) int c; if(ab) printf(tttneed greater!); printf( %ld )n,b); c=0; if(ab) printf(tttneed less
13、!); printf( %ld )n,b); c=0; if(a=b) printf(tttIts true!n); c=1; return c; int input(long int a) int c=0; long int b; printf(nnnnn); printf(tttplease input your number:n); printf(tttinput 0 back to main menu.); loop2:printf(nttttimes %d:,c+1); scanf(%ld,b); c+; if(c67) printf(ttyou are lose!); gc();
14、if(b=0) fun(); else if(compare(a,b)!=1) goto loop2; return c; void grade(int num) int grade=0; printf(tttyou use %d timesn,num); if(num4) grade=100-10*(num-1); else if(num8) grade=80-5*(num-3); else if(num68) grade=60-(num-7); printf(tttyour grade is %d,grade); switch(num) case 1:printf(tyou are so
15、lucky!); break; case 2:case 3:case 4:printf(tlucky!); break; case 5:case 6:case 7:case 8:case 9:printf(tgreat!); break; case 10:case 11:case 12:case 13:case 14:case 15:case 16: printf(tgood!); break; case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25: printf(tjust so so.); break
16、; default: printf(tmaybe you can better.); int welcome() int s; printf(nnnn); printf(tt*n); printf(tt* *n); printf(tt* welcome paly the game! *n); printf(tt* *n); printf(tt* input 1: start the game *n); printf(tt* input 2: help information *n); printf(tt* input 3: quit the game *n); printf(tt*n); printf(ttplease select: ); scanf(%d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东揭阳市普宁市公安局招聘警务辅助人员80人模拟试卷及答案详解(易错题)
- 2025黑龙江饶河县公益性岗位招聘30人模拟试卷及一套参考答案详解
- 2025鄂尔多斯市消防救援支队招聘50名政府专职消防队员模拟试卷附答案详解(考试直接用)
- 2025年潍坊职业学院高层次高技能人才引进(招聘)(10人)模拟试卷(含答案详解)
- 2025年宝鸡先行电力(集团)有限责任公司招聘(4人)模拟试卷(含答案详解)
- 2025广西民族博物馆编外人员招聘1人模拟试卷及一套完整答案详解
- 2025年国家知识产权局知识产权发展研究中心招聘(3人)考前自测高频考点模拟试题完整参考答案详解
- 2025年甘肃省庆阳市新庄煤矿面向社会招聘生产性灵活用工206人模拟试卷完整答案详解
- 2025年临沂平邑县部分事业单位公开招聘教师(17名)模拟试卷及答案详解(新)
- 2025第十三届贵州人才博览会黔东南州企事业单位招聘838人考前自测高频考点模拟试题及答案详解(有一套)
- 科学教育:未来启航
- 金太阳九年级数学月考试卷及答案
- 地质技能竞赛试题及答案
- 现代农业装备与应用课件
- 2024年甘肃省临夏县人民医院公开招聘护理工作人员试题带答案详解
- 2025年氢气传感器市场分析报告
- 结肠癌围手术期的护理
- 环保科技股东合作协议示范文本
- 中职语文(拓展模块)中国科学技术史序言
- 子宫肌瘤教学查房
- 云南省昆明市2023-2024学年高一下学期7月期末质量检测英语试卷(含答案)
评论
0/150
提交评论