C语言猜数游戏实验报告_第1页
C语言猜数游戏实验报告_第2页
C语言猜数游戏实验报告_第3页
C语言猜数游戏实验报告_第4页
C语言猜数游戏实验报告_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论