如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
沈阳航院设计用纸沈阳航空工业学院课程设计学号200704033019班级7403301姓名刘文博指导教师王晓岩龑2009年3月2日沈阳航空工业学院课程设计任务书院系:航空宇航工程学院专业:飞行器设计与工程班级:7403301学号:200704033019题目:人机猜数游戏一、课程设计时间2008~09第2学期第1周,共计1周,20学时。二、课程设计内容用C语言编写程序完成以下任务:由计算机随机产生一个4位整数,请人猜这四位整数是多少,其过程保存在文件data.txt中。人输入一个四位数后,计算机首先判断其中有几位猜对了,并且对的数字中有几位位置也正确,例如格式为:2A1B表示2个数字猜对,其中1个位置也正确,直到猜对为止。三、课程设计要求1.程序质量:贯彻结构化的程序设计思想。用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括“产生随机整数”、“猜数”和“退出”3项。代码应适当缩进,并给出必要的注释,以增强程序的可读性。2.课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:________学生签名:________五、说明书成绩六、教师评语沈阳航院设计用纸目录TOC\o"1-3"\h\zHYPERLINK\l"_Toc113676311"一、需求分析PAGEREF_Toc113676311\h1HYPERLINK\l"_Toc113676312"二、程序流程图PAGEREF_Toc113676312\h2HYPERLINK\l"_Toc113676313"三、核心技术的实现说明及相应程序段PAGEREF_Toc113676313\h4HYPERLINK\l"_Toc113676314"四、课设总结PAGEREF_Toc113676314\h7HYPERLINK\l"_Toc113676315"五、参考文献PAGEREF_Toc113676315\h8HYPERLINK\l"_Toc113676316"六、源程序PAGEREF_Toc113676316\h8一、需求分析经过对程序设计题目的分析可知,程序主要是将计算机随机给的数字和人所猜的数字逐位进行比较,并将比较后的结果以XAXB的形式显示出来。所以整个程序的设计实现大致分为三两个模块,其中每一个模块对应一个函数,他们的功能分别是:生成随机数,判断数字和储存游戏过程。这几个过程以判断数字为核心,生成随机数和储存过程也是游戏中不可缺少的过程,完善游戏,凸显程序的可记录性,从而完成题目要求。程序中插入了一个数组循环,使游戏过程中生成的四位随机数中不会出现重复数字,从而使游戏更完善更有可玩性,这是一个可以添加的小功能。1、生成随机数游戏的基础,生成的无重复四位随机数用作提供玩家去猜的判断依据;2、判断数字游戏的核心部分,接受玩家所猜测而输入的数字并判断输出结果;3、储存过程主要是按照题目要求将人机猜数过程的数据进行记录保存。除了以上功能外,程序中还有退出功能,可以在每一次游戏开始或结束时选择退出游戏。而保存函数可以将游戏的过程随程序的简单路径设定而永久保存在所设定路径D:\\data.txt中。二、程序流程图1、程序总体结构图图1程序总体结构图2、具体功能框图(1)生成无重复四位随机数图2生成无重复四位随机数(2)判断数字图3判断数字过程三、核心技术的实现说明及相应程序段本程序主要由两个程序段构成,分别是生成无重复四位随机数过程和判断所猜数字过程,按要求的打印菜单过程和保存数据过程则贯穿在整个程序之中,下面分别进行说明。1、生成无重复四位数过程首先由程序创建一个新文件保存路径为"D:\\data.txt",并将录入的数据信息写入该文件当中。然后根据指令开始生成随机数,生成随机数的方法是随机数由系统提出时间数据进行生成,接下来对所生成的随机数进行判断,用一个循环判断该四位数是否有重复,如有重复则重新生成一次,无重复则打印菜单向下进行,该过程结束。具体的程序段如下:if((fp=fopen("D:\\data.txt","w"))==NULL)/*创建文件并判断无法打开则退出*/{printf("cannotcreatthefile.");exit(0);}printmenu();/*打印菜单*/scanf("%d",&t);if(t!=1)exit(0);srand(time(