1、C语言猜数游戏程序C语言程序设计课程设计说明书 设计题目:猜数游戏 班 级:C语言课程设计2班 学 号:姓 名:完成日期:2012.6.201.设计任务设计题目:猜数游戏(掌握程序结构及随机函数应用)程序说明:游戏的开始由机器产生一个随机数(1100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。程序输出要求:累计游戏者猜对一个数所需次数n,
2、当n=15时,用exit(0)库函数退出程序。附:随机数发生器函数 random()用法 函数原型: int random(int num); 程序例: #include /*包含库函数random()的头文件*/#include /* prints a random number in the range 0 to 99 */ int main(void) int n;randomize(); /*初始化随机数发生器*/n= random (100); /*产生一个0-100的随机数。*/ printf(Random number in the 0-99 range: %dn,n); ; 2
3、.需求分析2.1功能需求 本系统是一款小型数学游戏软件,提供简单的游戏功能即可。主要功能是通过有趣的数学游戏锻炼逻辑思维能力,使用户可以感受到数学的巨大魅力。2.2性能需求 要求系统稳定可靠,各方面功能齐全,操作简单易懂,达到打开即用的效果!3.设计算法注:算法的整体思路是通过计算机随机生成一个数字,再通过键盘输入的数字与产生的随机数字进行比较!4.系统模块图 本游戏小系统主要由封面、登陆系统和主菜单3个部分组成。其中菜单部分又细分为游戏介绍、帮助、开始游戏和退出游戏四个部分。系统模块图如下所示:5.模块说明 5.1 构建整体框架 首先构造出整体框架,包含头文件、定义变量、声明自定义函数、输出
4、封面等。头文件:#include #include #include #define random(x) (rand()%x);自定义函数声明:int zhucaidan();void youxijieshao();void bangzhu();void kaishiyouxi();int tuichu(); 5.2 登陆系统 登陆系统提供使用者输入账号密码验证,输入错误则需重新输入,输入正确则跳入主菜单。此处采用do-while语句循环,直到账号密码正确(初始密码和账号相同)。若账号密码正确则调用自定义主菜单函数。进入主菜单采用switch语句进行功能选择。 5.3 主菜单系统 主菜单分为4
5、个小的分支,主要进行游戏介绍、游戏帮助以及开始游戏等部分。提供给使用者一个进行游戏的平台,也可以对不懂得如何使用此系统的使用者进行简单的介绍。 5.4 游戏计算部分 计算部分原理见第三部分设计算法。此部分为程序计算核心部分,进行数据的处理和比较。此处采用random函数进行初始值随机赋值srand(int)time(0); k=random(100);再通过大小比较得出结果。6.用户使用说明(部分操作截图) 6.1 进入系统6.2 登陆系统 6.3 主菜单系统6.4 游戏介绍6.5 游戏帮助6.6 游戏界面6.7 退出游戏7. 测试结果 程序能满足题目要求,测试过程未发现错误。可以根据使用输入
6、数据给出正确提示。但程序比较简单,智能满足基本的要求,扩展方面不够!8. 设计小结 在此次程序设计过程中,主要困难来自整体结构的构思,封面、登陆系统、游戏算法等部分程序都可以设计出来。但是在各个部分的连接方面遇到一些困难,对于程序整体结构不是很清楚。总的来说,对自己也是一个小小的挑战。课程设计与平时C语言作业有比较大的差别,平时作业主要是针对一个问题设计一种算法,方法比较固定,算法也比较成熟,不用自己去深入思考算法和结构问题。而程序设计对设计者的整体能力要求比较高,不仅要求设计者对VC软件有种足够的认识,还要求设计者有自己的思想,能够对题目给的要求真正的理解,才可以真正设计出满足题目要求的程序
7、!通过这次课程设计使得自己对于我们所学的C语言程序设计课程也有了更加深入的了解!9. 参考文献 龚本灿 C语言程序设计教程高等教育出版社 2011年 龚本灿 C语言程序设计习题集高等教育出版社 2011年10. 附录 #include #include #include /包含 time函数#define random(x) (rand()%x)void main() int zhucaidan(); void youxijieshao(); void bangzhu(); void kaishiyouxi(); int tuichu(); int a,b,c=0,choice,end=1;
8、system(color 9); printf( *nn); printf( * c语言程序设计课程设计 *nn); printf( * 猜数游戏系统 *nn); printf( *nn); printf( * 程序设计:11光信曾博 *nn); printf( * 2012年6月20日 *nn); printf(-nn); printf(请输入账号密码登陆!(初始密码与账号一致)nn); printf(请输入账号:); scanf(%d,&a); do printf(请输入密码:); scanf(%d,&b); if(a!=b) printf(账号或密码错误,请重新输入!); c=1; el
9、se printf(密码正确,进入主菜单!nn); while(end) choice=zhucaidan(); switch(choice) case 1: youxijieshao(); break; case 2: bangzhu(); break; case 3: kaishiyouxi(); break; case 4: end=tuichu(); break; printf(您已退出游戏程序!n); while(c=1); int zhucaidan() int choice; printf(n *欢迎使用猜数游戏系统*n); printf(-n); printf( 1.游戏介绍n
10、); printf( 2.帮助 n); printf( 3.开始游戏n); printf( 4.退出游戏n); printf(-n); printf(请选择功能模块,输入数字1-4: ); while(1) scanf(%d,&choice); if(choice=1 & choicek) printf(your answer is high,try againn); big+; else if(gk) printf(your answer is low,try againn); small+; else if(big+small)7)&(big+small)15) printf(I can bet you can do it bettern); break; printf(您猜对答案输入数字次数为:%d,(big+small);int tuichu() int end; end=0; return end;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1