版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计课程设计说明书 设计题目:猜数游戏 班 级:C语言课程设计2班 学 号:姓 名:完成日期:2012.6.20目录1.设计任务32.需求分析42.1功能需求42.2性能需求43.设计算法44.系统模块图55.模块说明65.1 构建整体框架65.2 登陆系统75.3 主菜单系统75.4 游戏计算部分76.用户使用说明(部分操作截图)86.1 进入系统86.2 登陆系统86.3 主菜单系统96.4 游戏介绍96.5 游戏帮助96.6 游戏界面106.7 退出游戏107. 测试结果118. 设计小结119. 参考文献1210. 附录121.设计任务设计题目:猜数游戏(掌握程序结构及随机函
2、数应用)程序说明:游戏的开始由机器产生一个随机数(1100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。程序输出要求:累计游戏者猜对一个数所需次数n,当n<7时,给出“Congratulation”字样;当7n15时,给出“Ican bet you can do it better.”;当n>=15时,用exit(0)库函数退出
3、程序。附:随机数发生器函数 random()用法 函数原型: int random(int num); 程序例: #include <stdlib.h> /*包含库函数random()的头文件*/#include <stdio.h> /* 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
4、 range: %dn",n); ; 2.需求分析2.1功能需求 本系统是一款小型数学游戏软件,提供简单的游戏功能即可。主要功能是通过有趣的数学游戏锻炼逻辑思维能力,使用户可以感受到数学的巨大魅力。2.2性能需求 要求系统稳定可靠,各方面功能齐全,操作简单易懂,达到打开即用的效果!3.设计算法开始调用random函数产生随机值K键盘输入g值并和k比较If g<k 输出low返回重新输入If g>k 输出hign返回重新输入如果g=k答案正确,退出系统!注:算法的整体思路是通过计算机随机生成一个数字,再通过键盘输入的数字与产生的随机数字进行比较!4.系统模块图 本游戏小系统
5、主要由封面、登陆系统和主菜单3个部分组成。其中菜单部分又细分为游戏介绍、帮助、开始游戏和退出游戏四个部分。系统模块图如下所示:猜数游戏封面 登陆系统主菜单游戏帮助开始游戏退出游戏游戏介绍5.模块说明 5.1 构建整体框架 首先构造出整体框架,包含头文件、定义变量、声明自定义函数、输出封面等。头文件:#include <stdio.h> #include <stdlib.h> #include <time.h> #define random(x) (rand()%x);自定义函数声明:int zhucaidan();void youxijieshao();vo
6、id bangzhu();void kaishiyouxi();int tuichu(); 5.2 登陆系统 登陆系统提供使用者输入账号密码验证,输入错误则需重新输入,输入正确则跳入主菜单。此处采用do-while语句循环,直到账号密码正确(初始密码和账号相同)。若账号密码正确则调用自定义主菜单函数。进入主菜单采用switch语句进行功能选择。 5.3 主菜单系统 主菜单分为4个小的分支,主要进行游戏介绍、游戏帮助以及开始游戏等部分。提供给使用者一个进行游戏的平台,也可以对不懂得如何使用此系统的使用者进行简单的介绍。 5.4 游戏计算部分 计算部分原理见第三部分设计算法。此部分为程序计算核心部
7、分,进行数据的处理和比较。此处采用random函数进行初始值随机赋值srand(int)time(0); k=random(100);再通过大小比较得出结果。6.用户使用说明(部分操作截图) 6.1 进入系统6.2 登陆系统 6.3 主菜单系统6.4 游戏介绍6.5 游戏帮助6.6 游戏界面6.7 退出游戏7. 测试结果 程序能满足题目要求,测试过程未发现错误。可以根据使用输入数据给出正确提示。但程序比较简单,智能满足基本的要求,扩展方面不够!8. 设计小结 在此次程序设计过程中,主要困难来自整体结构的构思,封面、登陆系统、游戏算法等部分程序都可以设计出来。但是在各个部分的连接方面遇到一些困难
8、,对于程序整体结构不是很清楚。总的来说,对自己也是一个小小的挑战。课程设计与平时C语言作业有比较大的差别,平时作业主要是针对一个问题设计一种算法,方法比较固定,算法也比较成熟,不用自己去深入思考算法和结构问题。而程序设计对设计者的整体能力要求比较高,不仅要求设计者对VC软件有种足够的认识,还要求设计者有自己的思想,能够对题目给的要求真正的理解,才可以真正设计出满足题目要求的程序!通过这次课程设计使得自己对于我们所学的C语言程序设计课程也有了更加深入的了解!9. 参考文献 龚本灿 C语言程序设计教程高等教育出版社 2011年 龚本灿 C语言程序设计习题集高等教育出版社 2011年10. 附录 #
9、include <stdio.h>#include <stdlib.h>#include <time.h>/包含 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;system("color 9"); printf(" *nn"); printf(" *
10、 c语言程序设计课程设计 *nn"); printf(" * 猜数游戏系统 *nn"); printf(" *nn"); printf(" * 程序设计:11光信曾博 *nn"); printf(" * 2012年6月20日 *nn"); printf("-nn");printf("请输入账号密码登陆!(初始密码与账号一致)nn"); printf("请输入账号:"); scanf("%d",&a); do print
11、f("请输入密码:"); scanf("%d",&b); if(a!=b) printf("账号或密码错误,请重新输入!"); c=1; else 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;
12、printf("您已退出游戏程序!n");while(c=1); int zhucaidan()int choice; printf("n *欢迎使用猜数游戏系统*n"); printf("-n"); printf(" 1.游戏介绍n"); printf(" 2.帮助 n"); printf(" 3.开始游戏n"); printf(" 4.退出游戏n"); printf("-n"); printf("请选择功能模块,输入数字1
13、-4: "); while(1) scanf("%d",&choice);if(choice>=1 && choice<=4)break;elseprintf("输入数字不正确,请重新输入1-4:"); return choice;void youxijieshao()printf("n猜数游戏是一款人机互动的小游戏,n");printf("在电脑提示的范围下进行猜数并用键盘输入电脑中。n");printf("电脑判断你所输入的数值与电脑默认给出数字的数值的大
14、小并给出提示,n");printf("如果你所输入的数字不是电脑默认的数值则需要重新输入,直到正确为止!n");void bangzhu()printf("1.游戏规则:每个玩家有15次机会进行猜数,若15次之内还没猜出则退出程序!n");printf("2.游戏建议:玩家可用对半猜的方法进行游戏,逐渐缩小猜数范围,直到最后猜出正确答案!n");void kaishiyouxi() int k,g,big=0,small=0; srand(int)time(0); k=random(100); printf("computer number is given!please input your number(0-100) is: n"); while(1) scanf("%d",&g); if(g>k) printf("your answer is high,try againn"); big+; else if(g<k) printf("your answer is low,try againn"); small+; else if(big+small)<=7)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《情绪ABC》教学课件-2024-2025学年南大版初中心理健康八年级全一册
- 2025年工业元宇宙数字孪生模型验证标准
- 急腹症患者的观察与护理
- 2025年人工智能伦理评估报告撰写规范
- 盆腔炎患者的护理质量评价体系
- 医德医风督查情况记录表
- 老年公寓护理实践操作演练
- 湖南省长沙市一中集团2025-2026学年七年级下学期数学期中考试试题卷
- 母婴护理中的婴儿睡眠管理
- 2026年赠予合同是实践式合同(1篇)
- 生鲜乳培训教学课件
- 网络安全ctf培训
- 国家义务教育质量监测四年级劳动测试卷(含答案)
- 媒体业务代理协议书
- 电玩设备转让合同范本
- 未来教育发展前景
- 《数据中心集群算电协同供配电系统建设规范》
- 机械维修专项施工方案
- 消防安全知识培训演练课件
- 2025年北京高考数学试卷(含详解)
- 放射影像检查不良伪影培训课件
评论
0/150
提交评论