C语言课程设计说明书.docx
《C语言课程设计说明书.docx》由会员分享,可在线阅读,更多相关《C语言课程设计说明书.docx(15页珍藏版)》请在冰豆网上搜索。
C语言课程设计说明书
C语言课程设计
-猜数游戏
(说明书)
班级:
20111461
学号:
2011146111
姓名:
完成日期:
2012年6月20日
目录:
1.题目要求(设计任务)
2.设计思路
3.设计流程
4.设计小结
5.参考文献
6.附录(源程序)
1.题目要求(设计任务)
猜数游戏(掌握程序结构及随机函数应用)
程序说明及要求:
游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:
YouranswerisHIGH,tryagain.,否则,程序提示:
YouranswerisLOW,tryagain.,直到猜对为止。
程序可实现连续猜数,直到游戏者退出。
程序输出要求:
累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I canbetyoucandoitbetter.”;当n>=15时,用exit(0)库函数退出程序。
附:
随机数发生器函数random()用法
函数原型:
intrandom(intnum);
程序例:
#include/*包含库函数random()的头文件*/
#include
/*printsarandomnumberintherange0to99*/
intmain(void)
{intn;
randomize(); /*初始化随机数发生器*/
n=random(100);/*产生一个0-100的随机数。
*/
printf("Randomnumberinthe0-99range:
%d\n",n);
2.设计思路
1.利用所学知识,XX及学长帮助收集足够多的资料
2.根据老师要求的线索加上自身因素将程序分为几块,逐个解决
3.步骤:
主程序-封面-登陆界面-主菜单-小程序
4.主要利用所学的for,switch,if等循环
3.设计流程
1.封面设计
2.登陆界面设计
3.主菜单设计
4.主游戏介绍
5.游戏介绍
6.游戏帮助
7.关于游戏
4.设计小结
本次课题为:
猜数游戏。
主要利用所学的for,switch,if等循环组成,通过这次课题,使我更加了解c语言的魅力和更加熟练操作它。
也使我深刻的了解到它不是那么简单,还要努力。
5.参考文献
[1]C++大学教程,电子工业
[2]陈锐.C语言从入门到精通,,电子工业出版社
[3]c/C++常用函数与算法速查手册,中国铁道出版社
[4]C语言程序设计语言,机械工业
[5]龚本灿.C语言程序设计教程
6.附录(源程序)
#include"stdio.h"//头文件
#include"stdlib.h"
#include"time.h"
#defineN2011146111//密码
//#include"system.h"
voidmain()
{
inta,i,m;charg,h;
voidmeun(void);//对meun函数申明
voidgame(void);//对game函数申明
voidopinion(void);//对opinion函数申明
voidhelp(void);//对help函数申明
voidabout(void);//对about函数申明
printf("\n\n");
printf("\t\t****************************************************\n");//封面
printf("\t\t****************************************************\n");
printf("\t\t***三峡大学理学院2012级光信息科学与技术专业***\n");
printf("\t\t***C语言课程设计***\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t***设计题目:
猜数游戏***\n");
printf("\t\t***班级:
20111461***\n");
printf("\t\t***学号:
2011146111***\n");
printf("\t\t***姓名:
周文俊***\n");
printf("\t\t***完成日期:
2012年6月20日***\n");
printf("\t\t****************************************************\n");
printf("\t\t****************************************************\n");
printf("");
system("pause");system("cls");//刷屏
printf("\n\n");
printf("\t\t****************************************************\n");//登陆
printf("\t\t****************************************************\n");
printf("\t\t***三峡大学理学院2012级光信息科学与技术专业***\n");
printf("\t\t******\n");
printf("\t\t***用户登录***\n");
printf("\t\t***密码(学号):
2011146111***\n");
printf("\t\t****************************************************\n");
printf("\t\t****************************************************\n");
printf("\n");
printf("请输入密码:
");//密码判定
scanf("%d",&m);
for(i=0;m!
=N;)
{
system("cls");
printf("\n\n");
printf("输入错误!
\n");
printf("\n");
printf("请重新输入密码:
");
scanf("%d",&m);
}
for(a=0;i!
=5;)
{
system("cls");
printf("\n\n");
printf("\t\t****************************************************\n");//主菜单
printf("\t\t****************************************************\n");
printf("\t\t***主菜单***\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t***1.进入游戏***\n");
printf("\t\t***2.游戏介绍***\n");
printf("\t\t***3.帮助***\n");
printf("\t\t***4.关于***\n");
printf("\t\t***5.退出游戏***\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t******\n");
printf("\t\t****************************************************\n");
printf("\t\t****************************************************\n");
if(a>5)
{
printf("\n操作数据错误!
\n");//对选择判定
printf("\t请重新选择1-5:
");
}
else
{
printf("\n");
printf("\t请选择1-5:
");
}
scanf("%d",&a);
switch(a)//对选择判定
{
case1:
game();break;//对game函数调用
case2:
opinion();break;//对opinion函数调用
case3:
help();break;//对help函数调用
case4:
about();break;//对about函数调用
case5:
{
printf("\n\n");
printf("是否退出?
请输入Y或N:
");
scanf("%c",&h);
scanf("%c",&g);
for(;g!
='y'&&g!
='Y'&&g!
='n'&&g!
='N';)
{
system("cls");
printf("\n\n");
printf("输入错误!
\n");
printf("\n");
printf("请重新输入Y或N:
");
scanf("%c",&g);
}
if(g!
='n'&&g!
='N')
i=5;break;
}
}
}
printf("\n\n\t\t再见!
\n");
}
voidgame(void)//game函数
{
system("cls");
inti,n,x=101;
chars=s,a;
srand(unsigned(time(NULL)));
for(i=0;x!
=0;)//此for循环实现多次游戏
{
system("cls");
n=rand()%100;
printf("\t\t*************************************\n");
printf("\n");
printf("\t\t\t猜数游戏(按0可退出游戏)\n");
printf("\n");
printf("\t************************************************************\n");
printf("\n");
for(i=0;x!
=n&&x!
=0;i++)//此for循环对某次游戏进行引导
{
if(i<15)
{
printf("请输入你猜的数:
");
scanf("%d",&x);
printf("\n");
if(x>n)
printf("YouranswerisHIGH,tryagain.\n");
elseif(x=0)
printf("YouranswerisLOW,tryagain.\n");
elseif(x==0)
continue;
else
{
printf("Youranswerisright.\n");
printf("\n");
if(i<=7)
printf("Congratulation\n");
elseif(i<15&&i>7)
printf("I canbetyoucandoitbetter.\n");
}
printf("\n");
}
else//次数太多,退出游戏
{
printf("\n\n");
printf("\t\t次数太多\n");
x=n;
//exit(0);
}
}
printf("\n");//是否再玩
printf("\t是否再玩?
请输入Y或N:
");
scanf("%c",&a);
scanf("%c",&s);
for(;s!
='y'&&s!
='Y'&&s!
='N'&&s!
='n';)
{
system("cls");
printf("\n\n");
printf("输入错误!
\n");
printf("\n");
printf("请重新输入Y或N:
");
scanf("%c",&a);
scanf("%c",&s);
}
if(s=='Y'||s=='y')
x=101;
else
x=0;
}
printf("\n\n");
printf("\t\t谢谢参与!
\n");
system("pause");
}
voidopinion(void)//opinion函数
{
system("cls");
printf("\n");
printf("\t\t********************************************\n");
printf("\t\t\t\t游戏介绍\n");
printf("\t************************************************************\n");
printf("\n\n");
printf("程序说明:
游戏的开始由机器产生一个随机数");
printf("(1~100之间,用库函数random(),用法见后面的说明),然后游戏");
printf("者在程序的提示下猜数,若输入的数比这个数大,程序提示:
");
printf("YouranswerisHIGH,tryagain.,否则,程序提示:
");
printf("isLOW,tryagain.,直到猜对为止。
程序可实现连续猜数,直到游戏者退出。
");
printf("程序输出要求:
累计游戏者猜对一个数所需次数k,当k<=7时,给出Congratulation字样;");
printf("当7<k<15时,给出I canbetyoucandoitbetter.;当k>=15时,退出程序。
可结束,也可继续玩!
\n");
printf("\n\n");
printf("\t************************************************************\n");
system("pause");system("cls");
}
voidhelp(void)//help函数
{
system("cls");
printf("\n");
printf("\t\t********************************************\n");
printf("\t\t\t\t游戏帮助\n");
printf("\t************************************************************\n");
printf("\n\n");
printf("\t\t你可以根据游戏提示进行输入数字\n");
printf("\t\t按0可退出游戏\n");
printf("\n\n");
printf("\t************************************************************\n");
printf("\n\n");
system("pause");system("cls");
}
voidabout(void)//about函数
{
system("cls");
printf("\n");
printf("\t\t********************************************\n");
printf("\t\t\t\t关于游戏\n");
printf("\t************************************************************\n");
printf("\n\n");
printf("\t\t\t\t本游戏为猜数游戏\n");
printf("\n");
printf("\t\t\t命题:
杨先卫老师\n");
printf("\t\t\t主编:
周文俊(2011146111)\n");
printf("\t\t\t技术顾问:
何鹏举\n");
printf("\t\t\t技术支持:
XX一下\n");
printf("\t\t\t参考文献:
C++大学教程,电子工业等\n");
printf("\n\n");
printf("\t************************************************************\n");
printf("\n\n");
system("pause");system("cls");
}