1、C语言猜数游戏实验报告一、课程设计的目的.2二、设计的内容与要求.2三、总体设计.2四、详细设计.3五、调试与测试.9六、课程设计的总结.12七、附录.13在本次的课程设计中,由我和肖玉闫合作完成,我主要负责编写程序。对于流程图我主要负责:产生随机数函数,成绩判断函数,用户输入函数,排序函数,比较函数。一、课程设计的目的1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利用C语言进行基础的软件设计4.提高运用C语言解决实际问题的能力二、设计的内容与要求1.随机产生一个五位数,且没有重复数字2.猜数是给出大小提示3.记录猜数的次数,最后给出评分三总体设
2、计(1)整个猜数游戏分为3个模块:1.开始游戏;2.帮助界面,介如何进行游戏;3.退出游戏。(2)算法描述:1.主函数main():清屏之后运行fun函数;2.随机数函数rn():产生一个没有重复数字的五位随机数;3.排序函数choise():对数组进行排序;4.用户输入函数input():用户可以输入一个五位数;5.比较函数compare():对用户输入的五位数与系统产生的五位数进行比较;6.成绩函数grade():根据用户输入的次数进行打分;7.欢迎界面函数welcome():打印出一个欢迎界面;8.选择执行函数fun():根据用户的选择来执行对应的功能;四详细设计数据的组织描述,系统控制
3、流程图,程序的代码的对应解释。五,调试与测试调试1.在编程当中,由于要书写大量的程序,所以经常出现一些小错误;2.对变量的定义有时会出现错误,比如将long int型写成int型;3.最重要的是函数的应用,函数应该应用得当,否则会出现很大的错误。测试开始界面:菜单:六课程设计的总结通过这个课程设计,我们更加牢固的掌握了书本上的知识,并对于以前并不熟悉的知识有了更加深刻的了解。在完成此次课程设计的过程中,虽然花费了大量的精力,但带给我更多的收获。C语言是一门实践课,可以说只有自己亲手操作,才能感受到他的魅力。此次编程设计中,涉及到许多书上没有的知识,而我通过此次设计掌握了这些知识。输入与调试程序
4、是相当枯燥的,但构思和完善程序的过程是相当有趣的,无论怎么样,当你亲手完成了一个程序时,还是相当有成就感的。此次任务的完成,也体现了同学之间的团结精神,实践是检验真理的唯一标准,没有实践,就不会发现和深刻体会他的真实存在。只有通过检验的真理,在自己的心里,才会认可他的真实性。理论与实际的相结合才能真正把握所学和所掌握的知识。同时培养了我们的团队精神,使我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。总的来说,C语言是一门非常有趣的学科,可以通过人为的设计而让电脑来辅助性的做一些机械的东西。在今后的学习过程中,我也将更加的认真学习C语言,希望能在今后完成设计出一个属于自己的
5、有意思的程序。参考书目1标准C语言基础教程英文版M,(美)布朗森着出版社:电子工业出版社 2006年附录: 程序清单#include #include #include #include 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
6、* * * * * * * *); printf(nnn); 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|g
7、ame rules: |n); printf(t| |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 ag
8、ain.|n); printf(t| |n); printf(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; ch
9、oise(array,5); b=array0; for(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;i=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!
10、); printf( 67) printf(ttyou are lose!); gc(); 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,g
11、rade); switch(num) case 1:printf(tyou are so 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
12、:case 24:case 25: printf(tjust so so.); break; 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*
13、 input 3: quit the game *n); printf(tt*n); printf(ttplease select: ); scanf(%d,&s); return s;void gc() int a; printf(nnttinput 1: quit the game;tinput 2: back to menu.n); printf(nttplease select : ); scanf(%d,&a); if(a=1) exit(0); if(a=2) system(cls); fun(); if(a!=1&a!=2) printf(ttinput error!check your input!nn); gc();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1