- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 人民大2024思想政治教育心理学(第三版)课件04 第四章 思想政治教育心理学(第三版).ppt VIP
- 人民大2024思想政治教育心理学(第三版)课件02 第二章 思想政治教育心理学(第三版).ppt VIP
- 人民大2024思想政治教育心理学(第三版)课件07 第七章 思想政治教育心理学(第三版).ppt VIP
- 人民大2024思想政治教育心理学(第三版)课件09 第九章 思想政治教育心理学(第三版).ppt VIP
- 人民大2024思想政治教育心理学(第三版)课件01 第一章 思想政治教育心理学(第三版).ppt VIP
- 绪论思想政治教育心理学PPT课件.ppt VIP
- 狼王梦读书分享.pptx VIP
- 中医四诊培训课件.ppt VIP
- 英威腾 GD5000系列高性能矢量高压变频器产品手册_V6.1.pdf VIP
- 自由作文教学课件.ppt VIP
文档评论(0)