C语言猜数游戏实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、课程设计的目的...........................................2二、设计的内容与要求.........................................2三、总体设计.................................................2四、详细设计.................................................3五、调试与测试...............................................9六、课程设计的总结...........................................12七、附录.....................................................132在本次的课程设计中,由我和肖玉闫合作完成,我主要负责编写程序。对于流程图我主要负责:产生随机数函数,成绩判断函数,用户输入函数,排序函数,比较函数。一、课程设计的目的1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利用C语言进行基础的软件设计4.提高运用C语言解决实际问题的能力二、设计的内容与要求1.随机产生一个五位数,且没有重复数字2.猜数是给出大小提示3.记录猜数的次数,最后给出评分三.总体设计(1)整个猜数游戏分为3个模块:1.开始游戏;2.帮助界面,介如何进行游戏;3.退出游戏。(2)算法描述:1.主函数main():清屏之后运行fun函数;2.随机数函数rn():产生一个没有重复数字的五位随机数;3.排序函数choise():对数组进行排序;4.用户输入函数input():用户可以输入一个五位数;5.比较函数compare():对用户输入的五位数与系统产生的五位数进行比较;6.成绩函数grade():根据用户输入的次数进行打分;7.欢迎界面函数welcome():打印出一个欢迎界面;8.选择执行函数fun():根据用户的选择来执行对应的功能;3四.详细设计数据的组织描述,系统控制流程图,程序的代码的对应解释。main()函数清屏打印欢迎界面getch()fun()结束4rn函数intb,d;longintc;unsignedlonginta;intarray[5]a接收产生的随机数;c=a将c的各个位上的数字放入数组array[5]中用choise函数对array进行排序判断array数组的各个数是否相同是returna否结束5choise函数(int*num,intn)intj,k;i=1k=num[i];j=i-1;j0&&num[i]k?是num[j+1]=num[j];j--;num[j+1]=k否结束6input函数(longinta)intc=0;longintb输出打印相应提示输出打印次数:c+1;用户输入五位数,用b接收;c++;b=0?compare(a,b)=1?否是是retunc结束否c67?给出失败提示;gc();是fun函数7compare函数(longinta,longintb)intcab?ab?a=b?给出大于提示;c=0给出小于提示;c=0给出等于提示;c=1returnc结束是是是否否否8grade函数(intnum)intgrade=onum4?num8?num68?grade=100-10*(num-1)grade=80-5*(num-4)grade=60-(num-7)根据用户输入次数给出提示是结束否是否是9五,调试与测试调试1.在编程当中,由于要书写大量的程序,所以经常出现一些小错误;2.对变量的定义有时会出现错误,比如将longint型写成int型;3.最重要的是函数的应用,函数应该应用得当,否则会出现很大的错误。测试开始界面:10菜单:1112六.课程设计的总结通过这个课程设计,我们更加牢固的掌握了书本上的知识,并对于以前并不熟悉的知识有了更加深刻的了解。在完成此次课程设计的过程中,虽然花费了大量的精力,但带给我更多的收获。C语言是一门实践课,可以说只有自己亲手操作,才能感受到他的魅力。此次编程设计中,涉及到许多书上没有的知识,而我通过此次设计掌握了这些知识。输入与调试程序是相当枯燥的,但构思和完善程序的过程是相当有趣的,无论怎么样,当你亲手完成了一个程序时,还是相当有成就感的。此次任务的完成,也体现了同学之间的团结精神,实践是检验真理的唯一标准,没有实践,就不会发现和深刻体会他的真实存在。只有通过检验的真理,在自己的心里,才会认可他的真实性。理论与实际的相结合才能真正把握所学和所掌握的知识。同时培养了我们的团队精神,使我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。13总的来说,C语言是一门非常有趣的学科,可以通过人为的设计而让电脑来辅助性的做一些机械的东西。在今后的学习过程中,我也将更加的认真学习C语言,希望能在今后完成设计出一个属于自己的有意思的程序。参考书目[1]《标准C语言基础教程英文版》第四版[M],(美)布朗森著出版社:电子工业出版社2006年附录:程序清单#includestdio.h#includemath.h#includestdlib.h#includetime.hinti;longintrn();voidfun();voidgc();intinput(longint);voidgrade(int);intwelcome();intcompare(longint,longint);voidchoise(int*,int);voidmain(){system(cls);printf(\n\n\n\t\t********welcome********);printf(\n\n\n);printf(\t\t\tmaker:xiachaoxiaoyuyan);printf(\n\n\n\t\t\tuseentertobecontinue);getch();fun();}voidfun(){intb,s,g;longinta;system(cls);14s=welcome();if(s==1){system(cls);a=rn();b=input(a);grade(b);gc();}if(s==2){system(cls);printf(\n\n\n\n\n);printf(\t---------------------------------------------------------\n);printf(\t|gamerules:|\n);printf(\t||\n);printf(\t|inputyournumber(10000--99999),itwillcomparetothe|\n);printf(\t||\n);printf(\t|system'snumber(10000--99999),andthenumberdoesn'thave|\n);printf(\t||\n);printf(\t|samedigit.|\n);printf(\t||\n);printf(\t|ifyournumberassameassystem,yourwin,elsetryagain.|\n);printf(\t||\n);printf(\t---------------------------------------------------------);gc();}if(s==3){printf(\n\n\t\t\tThanksforyourusing.\n);printf(\t\t\t\tByeBye!);getch();exit(0);}}longintrn(){intb,d;longintc;unsignedlonginta;intarray[5];time_tt;time(&t);15srand(t);loop1:a=10000+rand()%90000;c=a;for(i=0;i5;i++){array[i]=c%10;c=c/10;}choise(array,5);b=array[0];for(i=1;i5;i++){if(b==array[i])gotoloop1;elseb=array[i];}returna;}voidchoise(int*num,intn){intj,k;for(i=1;in;i++){k=num[i];j=i-1;while((j=0)&&(num[j]k)){num[j+1]=num[j];j--;}num[j+1]=k;}}intcompare(longinta,longintb){intc;if(ab){printf(\t\t\tneedgreater!);printf((%ld)\n,b);c=0;16}if(ab){printf(\t\t\tneedless!);printf((%ld)\n,b);c=0;}if(a==b){printf(\t\t\tIt'strue!\n);c=1;}returnc;}intinput(longinta){intc=0;longintb;printf(\n\n\n\n\n);printf(\t\t\tpleaseinputyournumber:\n);printf(\t\t\tinput0backtomainmenu.);loop2:printf(\n\t\t\ttimes%d:,c+1);scanf(%ld,&b);c++;if(c67){printf(\t\tyouarelose!);gc();}if(b==0)fun();elseif(compare(a,b)!=1)gotoloop2;returnc;}voidgrade(intnum){intgrade=0;printf(\t\t\tyouuse%dtimes\n,num);if(num4)grade=100-10*(num-1);elseif(num8)17grade=80-5*(num-3);elseif(num68)grade=60-(num-7);printf(\t\t\tyourgradeis%d,grade);switch(num){case1:printf(\tyouaresolucky!!!);break;case2:case3:case4:printf(\tlucky!);break;case5:case6:case7:case8:case9:printf(\tgreat!);break;case10:case11:case12:case13:case14:case15:case16:printf(\tgood!);break;case17:case18:case19:case20:case21:case22:case23:case24:case25:printf(\tjustsoso.);break;default:printf(\tmaybeyoucanbetter.);}}intwelcome(){ints;printf(\n\n\n\n);printf(\t\t********************************************\n);printf(\t\t**\n);printf(\t\t*welcomepalythegame!*\n);printf(\t\t**\n);printf(\t\t*input1:startthegame*\n);printf(\t\t*input2:helpinformation*\n);printf(\t\t*input3:quitthegame*\n);printf(\t\t********************************************\n);printf(\t\tpleaseselect:);scanf

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功