C语言猜数游戏程序_第1页
C语言猜数游戏程序_第2页
C语言猜数游戏程序_第3页
C语言猜数游戏程序_第4页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.C 语言程序设计课程设计说明书设计题目:猜数游戏班级: C语言课程设计 2 班学号:姓名:完成日期: 2012.6.20目录.1.设计任务 .22.需求分析 .42.1 功能需求 .42.2 性能需求 .43.设计算法 .44.系统模块图 .55.模块说明 .65.1构建整体框架 .65.2登陆系统 .65.3主菜单系统 .75.4游戏计算部分 .76.用户使用说明(部分操作截图).86.1进入系统 .86.2登陆系统 .86.3主菜单系统 .96.4游戏介绍 .96.5游戏帮助 .96.6游戏界面 .106.7退出游戏 .107.测试结果 .118.设计小结 .119.参考文献 .1210

2、. 附录 .121.设计任务设计题目:猜数游戏(掌握程序结构及随机函数应用).程序说明: 游戏的开始由机器产生一个随机数(1100 之间 ,用库函数 random(),用法见后面的说明) ,然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer isHIGH,tryagain. ,否则,程序提示:Your answer is LOW , tryagain.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。程序输出要求: 累计游戏者猜对一个数所需次数n,当 n< 7 时,给出“Congratulation”字样;当 7n 15 时,给出“ Ican bet

3、youcan do it better.”;当 n>=15 时,用 exit(0) 库函数退出程序。附:随机数发生器函数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

4、-100 的随机数。 */ printf("Random number in the 0-99 range: %dn",n);.2.需求分析2.1 功能需求本系统是一款小型数学游戏软件,提供简单的游戏功能即可。主要功能是通过有趣的数学游戏锻炼逻辑思维能力,使用户可以感受到数学的巨大魅力。2.2 性能需求要求系统稳定可靠,各方面功能齐全,操作简单易懂,达到打开即用的效果!3.设计算法开始键盘调输用入 randomg值并和函k数比产较生随机值 KIfg>k输出hignIfg<k输出 low 返返回重新输入回重新输入.如果 g=k 答案正确,退出系统!注:算法的整体思

5、路是通过计算机随机生成一个数字,再通过键盘输入的数字与产生的随机数字进行比较!4.系统模块图本游戏小系统主要由封面、登陆系统和主菜单 3 个部分组成。其中菜单部分又细分为游戏介绍、 帮助、开始游戏和退出游戏四个部分。系统模块图如下所示:封面登陆系统猜数游戏主菜单.游游开退戏戏始出介帮游游绍助戏戏5.模块说明5.1 构建整体框架首先构造出整体框架,包含头文件、定义变量、声明自定义函数、输出封面等。头文件: #include <stdio.h> #include <stdlib.h> #include <time.h> #define random(x) (ra

6、nd()%x) ;自定 义 函 数 声 明 : intzhucaidan();voidyouxijieshao();voidbangzhu();void kaishiyouxi();int tuichu();5.2 登陆系统登陆系统提供使用者输入账号密码验证,输入错误则需重新输入,输入正确则跳入主菜单。 此处采用 do-while 语句循环,.直到账号密码正确(初始密码和账号相同) 。若账号密码正确则调用自定义主菜单函数。 进入主菜单采用 switch 语句进行功能选择。5.3 主菜单系统主菜单分为 4 个小的分支, 主要进行游戏介绍、 游戏帮助以及开始游戏等部分。 提供给使用者一个进行游戏的

7、平台, 也可以对不懂得如何使用此系统的使用者进行简单的介绍。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. 测试结果程序能满足题目要求,测试过程未发现错误。 可以根据使用输入数据给出正确提示。但程序比较简单,智能满足基本的要求,扩展方面不够!8. 设计

8、小结在此次程序设计过程中,主要困难来自整体结构的构思,封面、登陆系统、游戏算法等部分程序都可以设计出来。但是在各个部分的连接方面遇到一些困难,对于程序整体结构不是很清楚。总的来说,对自己也是一个小小的挑战。课程设计与平时 C 语言作业有比较大的差别, 平时作业主要是针对一个问题设计一种算法,方法比较固定,算法也比较成熟,不用自己去深入思考算法和结构问题。而程序设计对设计者的整体能力要求比较高,不仅要求设计者对 VC 软件有种足够的认识, 还要求设计者有自己的思想, 能够对题目给的要求真正的理解, 才可以真正设计出满足题目要求的程序! 通过这次课程设计使得自己对于我们所学的 C 语言程序设计课程

9、也有了更加深入的了解!.9. 参考文献 龚本灿 C 语言程序设计教程高等教育出版社2011 年龚本灿 C 语言程序设计习题集高等教育出版社2011年10. 附录#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,choic

10、e,end=1;system("color 9");printf(".*nn");printf("* c 语言程序设计课程设计*nn");printf("*猜数游戏系统*nn");printf("*nn");printf("*程序设计:11光信曾博*nn");printf("*2012年 6月20日*nn");printf("-nn");printf(" 请输入账号密码登陆!( 初始密码与账号一致)nn");prin

11、tf(" 请输入账号: ");scanf("%d",&a);doprintf(" 请输入密码: ");scanf("%d",&b);.if(a!=b)printf(" 账号或密码错误,请重新输入! "); c=1;elseprintf(" 密码正确,进入主菜单!nn");while(end)choice=zhucaidan();switch(choice)case 1:youxijieshao(); break;case 2:bangzhu();break;c

12、ase 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");printf("2.帮助n");printf("3.开始游戏 n");printf("4.退出游戏 n");printf

13、("-n");printf(" 请选择功能模块,输入数字1-4: ");while(1)scanf("%d",&choice);if(choice>=1 && choice<=4)break;else.printf(" 输入数字不正确,请重新输入1-4:");return choice;void youxijieshao()printf("n 猜数游戏是一款人机互动的小游戏,n");printf(" 在电脑提示的范围下进行猜数并用键盘输入电脑中。n&

14、quot;);printf(" 电脑判断你所输入的数值与电脑默认给出数字的数值的大小并给出提示,n");printf(" 如果你所输入的数字不是电脑默认的数值则需要重新输入,直到正确为止!n");void bangzhu()printf("1. 游戏规则:每个玩家有15 次机会进行猜数,若15次之内还没猜出则退出程序!n");printf("2. 游戏建议:玩家可用对半猜的方法进行游戏,逐渐缩小猜数范围,直到最后猜出正确答案!n");.void kaishiyouxi() int k,g,big=0,small=0

15、; srand(int)time(0); k=random(100);printf("computernumberisgiven!pleaseinputyournumber(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+;elseif(big+small)<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论