人机猜数游戏.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人机猜数游戏

沈 阳 航 空 工 业 学 院 课程设计 学 号200604021174 班 级 6402105 姓 名 郑索哲 指导教师 李 飞 2007年 9月 15 日 沈阳航空工业学院 课程设计任务书 电子工程系 电子信息工程专业 6402105班 学号 200604021174 一、课程设计题目:人机猜数游戏 二、课程设计工作自2007年9月10日起至2007年9月16日止 三、课程设计内容: 该程序的功能描述如下:由计算机随机产生一个4位整数,请人猜这四位整数是多少,其过程保存在文件data.dat中。人输入一个四位数后,计算机首先判断其中有几位猜对了,并且对的数字中有几位位置也正确,例如格式为:2A1B表示2个数字猜对,其中1个位置也正确,直到猜对为止。 注:用户界面美观,有必要的提示信息。 四、课程设计要求: 程序质量: 贯彻事件驱动的程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。 课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容如下: 课程设计任务书 程序设计题目 需求分析(分析题目的要求) 程序框图(总体框图和各功能模块框图,使用传统流程图或N-S框图) 核心技术的实现方法及程序源代码及注释 个人总结 [参考资料] 指导教师:李 飞 学生签名:郑索哲 目录 一、需求分析 1 二、程序流程图 3 三、核心技术的实现方法、程序段及注释 7 四、个人总结 13 五、参考文献 13 六、源程序 13 . 一 .需求分析 通过对题目的分析,这个课程设计主要分为三个模块。1 生成一个四位数模块(运用随即产生数的原理产生一个随机数,用产生的随机数与10000取余得到一个四位数),2 猜数模块(输入猜测的数并且得到随机产生的数和猜测的数的个、十、百、千四个阿拉伯数字并且判断位置是否相同,以及猜测的数是否相同并且把猜测的数写入到文件中)和3退出模块(其作用是退出操作界面). 二 .流程图 1. 主函数 2. 猜数函数 三.核心程序分析 #includestdlib.h #includestring.h #includestdio.h #includeconio.h #includetime.h #includedos.h int num; 产生四位数函数,在函数中采用随机数产生方法,产生一个四位数,之后对产生的四位数与10000取余数,这样就可以得到一个四位数。 void made() { 产生随机数生成种子 srand((unsigned)time(NULL)); 产生四位数 num=rand()%10000; } 猜测四位数函数,本函数调用产生的四位数函数产生的数,对其进行猜测。每次输出猜测的结果。如果猜测不中则继续猜测,直到猜对为止。在猜测的过程中把猜测过程和结果全部写入到文件中。 void guess() { 定义文件类型指针 FILE *WJ; int n,m,guess,ge,shi,bai,qian; int ge_guess,shi_guess,bai_guess,qian_guess; 建立文件 if((WJ=fopen(d:\\DATA.DAT,w+))==NULL) { printf(\nCan not open file for write); return; } 产生个、十、百、千四位数 ge=num%10; qian=num/1000; bai=(num%1000)/100; shi=(num/10)%10; printf(\nPlease input you geuss number :); fprintf(WJ,%s\t%d\n,The made number is :,num); scanf(%d,guess); do { n=0; m=0; ge_guess=guess%10; shi_guess=(guess/10)%10; bai_guess=(guess%1000)/100; qian_guess=(guess/1000); 判断位置是否相同 if(ge_guess==ge) n++; if(shi_guess==shi) n++; if(bai_guess==bai) n++; if(qian_guess==qian) n++; 判断是否有被猜测的数。 if(ge==ge_guess||ge==s

文档评论(0)

wyw118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档