C语言猜数游戏实验报告.docx
- 文档编号:10549604
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:16
- 大小:130.08KB
C语言猜数游戏实验报告.docx
《C语言猜数游戏实验报告.docx》由会员分享,可在线阅读,更多相关《C语言猜数游戏实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
C语言猜数游戏实验报告
一、课程设计的目的...........................................2
二、设计的内容与要求.........................................2
三、总体设计.................................................2
四、详细设计.................................................3
五、调试与测试...............................................9
六、课程设计的总结...........................................12
七、附录.....................................................13
在本次的课程设计中,由我和肖玉闫合作完成,我主要负责编写程序。
对于流程图我主要负责:
产生随机数函数,成绩判断函数,用户输入函数,排序函数,比较函数。
一、课程设计的目的
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():
根据用户的选择来执行对应的功能;
四.详细设计
数据的组织描述,系统控制流程图,程序的代码的对应解释。
五,调试与测试
调试
1.在编程当中,由于要书写大量的程序,所以经常出现一些小错误;
2.对变量的定义有时会出现错误,比如将longint型写成int型;
3.最重要的是函数的应用,函数应该应用得当,否则会出现很大的错误。
测试
开始界面:
菜单:
六.课程设计的总结
通过这个课程设计,我们更加牢固的掌握了书本上的知识,并对于以前并不熟悉的知识有了更加深刻的了解。
在完成此次课程设计的过程中,虽然花费了大量的精力,但带给我更多的收获。
C语言是一门实践课,可以说只有自己亲手操作,才能感受到他的魅力。
此次编程设计中,涉及到许多书上没有的知识,而我通过此次设计掌握了这些知识。
输入与调试程序是相当枯燥的,但构思和完善程序的过程是相当有趣的,无论怎么样,当你亲手完成了一个程序时,还是相当有成就感的。
此次任务的完成,也体现了同学之间的团结精神,实践是检验真理的唯一标准,没有实践,就不会发现和深刻体会他的真实存在。
只有通过检验的真理,在自己的心里,才会认可他的真实性。
理论与实际的相结合才能真正把握所学和所掌握的知识。
同时培养了我们的团队精神,使我们懂得了团队的重要性。
在今后的学习工作中我们将会更好的发挥团队精神。
总的来说,C语言是一门非常有趣的学科,可以通过人为的设计而让电脑来辅助性的做一些机械的东西。
在今后的学习过程中,我也将更加的认真学习C语言,希望能在今后完成设计出一个属于自己的有意思的程序。
参考书目
[1]《标准C语言基础教程英文版》<第四版>[M],(美)布朗森着出版社:
电子工业出版社2006年
附录:
程序清单
#include
#include
#include
#include
inti;
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");
s=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);
srand(t);
loop1:
a=10000+rand()%90000;
c=a;
for(i=0;i<5;i++)
{
array[i]=c%10;
c=c/10;
}
choise(array,5);
b=array[0];
for(i=1;i<5;i++)
{
if(b==array[i])
gotoloop1;
else
b=array[i];
}
returna;
}
voidchoise(int*num,intn)
{
intj,k;
for(i=1;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(a>b) { printf("\t\t\tneedgreater! "); printf("(>%ld)\n",b); c=0; } if(a { 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(c>67) { printf("\t\tyouarelose! "); gc(); } if(b==0) fun(); else if(compare(a,b)! =1)gotoloop2; returnc; } voidgrade(intnum) { intgrade=0; printf("\t\t\tyouuse%dtimes\n",num); if(num<4) grade=100-10*(num-1); elseif(num<8) grade=80-5*(num-3); elseif(num<68) 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("%d",&s); returns; } voidgc() { inta; printf("\n\n\t\tinput1: quitthegame;\tinput2: backtomenu.\n"); printf("\n\t\tpleaseselect: "); scanf("%d",&a); if(a==1) exit(0); if(a==2) { system("cls"); fun(); } if(a! =1&&a! =2) { printf("\t\tinputerror! checkyourinput! \n\n"); gc(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 游戏 实验 报告