ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:372KB ,
资源ID:10432156      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10432156.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(猜单词游戏c语言代码.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

猜单词游戏c语言代码.doc

1、程序设计报告( 2011 / 2012 学年 第 二 学期)题目: 猜单词游戏 专 业 光电信息工程 学 生 姓 名 梅阳阳 班 级 学 号 B11030506 指 导 教 师 李鹏 指 导 单 位 计算机学院 计算机系统与网络教学中心日 期 2012.06.042012.06.13评分项 优秀 良好 中等 差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度评 分 细 则回答问题准确度简 短 评 语教师签名: 2012 年 6 月 20 日评分等级备注评分等级有五种:优秀、良好、中等、

2、及格、不及格题目 1:猜单词一、 课题内容和要求要求用 C 或 C+模拟猜单词游戏。游戏包括:单词管理、玩家纪录、猜词过程、系统设置等必须完成的基本功能以及成绩计算、猜词时间限制、词库管理等选做的扩展功能。通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法及友好界面的设计。二、需求分析1. 基本要求。(1) 单词管理:程序中用来做谜题的单词必须存放在磁盘文件中。(2) 猜词过程:先请用户输入猜的单词数量,可以有一个默认值。随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数-,假设谜底单词为“hello“,则在屏幕上输出“-“。玩家输入一个字母进行猜测,如果这个字

3、母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个l,则在屏幕上输出“-ll-“。重复,直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。显示玩家每个单词猜对与猜错次数等统计信息。如果玩家猜出单词,计算成绩,如进入前五名提示玩家并记录存储到记录文件中。询问玩家是否开始新一轮猜词,如果玩家选“否” ,则系统退到外面的菜单。(3) 系统设置:猜词次数可以为默认值。玩的时候,可以对其进行修改。 2. 扩展要求。 (1) 成绩计算:考虑各种情况下所设计的成绩计算方法是否合理。(2) 玩家纪录:程序要求记录前五名成绩。成绩指标自行设计,必须包括时间。记录的时候要求有排名、玩家姓名、成绩

4、三项,并保存在文件中。在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。三、概要设计 1、主要结构体:struct Playerchar name20; /玩家姓名int right;/猜对字母数int wrong;/猜错字母数int time;/猜单词的时间;2、主要函数:(1)文件打开函数 void OpenWordFile(char string20012):设计思想一致,用于打开单独储存的单词库及游戏记录 txt 文件。(2)设置函数 void set(),void Setgame:用于设置游戏中猜单词的次数与数目。(3) “玩游戏”函数:void PlayGame (

5、char wordlist20012):用于对玩家输入的字母进行处理与判断(4) “开始游戏”函数 void StartGame (char wordlist20012):将OpenWordFile (str); Change (wordlist,str);PlayGame(wordlist)等函数统一调用(5)记录显示函数 void Show():用于将写入过新纪录的文件显示到屏幕上。(6)记录读入函数 void Record():将最新的游戏成绩记录通过文件读写,从内存中保存到原文本文件中玩游戏开始游戏记录游戏设置游戏操作是否继续结束YN四、详细设计 #include #include #

6、include #include #include #include #include void OpenWordFile(char string2111);void PlayGame(char wordlist2111);void Change(char wordlist2111,char str2111);void StartGame (char wordlist2111);void Menu();int guesstime=10;int round;void Set() printf(“请输入您想猜的单词数:“);scanf(“%d“,struct Playerchar name20;i

7、nt right;int wrong;int time;typedef struct Player Player;Player p5=1,“unknown“,0,0,0,2,“unknown“,0,0,0,3,“unknown“,0,0,0,4,“unknown“,0,0,0,5,“unknown“,0,0,0;Player temp;int right=0,wrong=0;void OpenWordFile (char string2111)FILE *fp; char c; int i=0; int j=0; if(fp=fopen(“word.txt“,“r“)=NULL) /读文件 p

8、rintf(“单词库无法打开!n“); exit(0); elsec=fgetc(fp); while(c!=EOF) if(c!=n) stringij=c; j+; else i+; j=0; c=fgetc(fp); void SetGame ()printf(“请输入你想猜的次数:“);scanf(“%d“,void PlayGame (char wordlist2111)char guess; /存用户打入的字母char guessword11; /存用户打入的词int l,j,k,f;int p=1,q=0,x=0,y=0;char WrongGuess11;int t=0;int

9、 flag=0; int c=1;/用来查看是否猜对所有字母right=0;srand(time(NULL);q=rand()%21;l=strlen(wordlistq); /求单词长for(f=0;fy) y=x; elsek+; c=strcmp(guessword,wordlistq); if(c=0)printf(“nHow smart you are! 你成功猜出了这个单词!n 正确单词就是:%s“,wordlistq);right+;if(c!=0)printf(“nSorry. 壮志未酬身先死!.n 正确答案是 :%s“,wordlistq);wrong+;printf(“你猜

10、对了%d 个字母,猜错了%d 个字母。n“,x,k-1);WrongGuesst = 0;printf(“错误字母分别是%sn“,WrongGuess);void Change (char wordlist2111,char str2111)int i,j;for(i=0;ipi.right) for(j=5;ji;j-)for(k=0;k 1. 开始游戏 2. 设置游戏 3. 成绩排行 4. 退出游戏 4)printf(“Please choice 1-4 againn“);scanf(“%d“,switch (choice) /选择case 1:Set();Input();StartGam

11、e (wordlist);/调用游戏函数break;case 2:SetGame ();/调用设置函数Set();Input();StartGame (wordlist);break;case 3:Show();break;case 4:exit(0);五、测试数据及其结果分析显示的主菜单界面:1、查看之前的游戏成绩排行榜;2、设置游戏; 3、开始猜单词游戏;4、进行游戏;5、游戏记录保存;6、查看游戏结束后更新过的成绩排行榜;1、查看之前的游戏成绩排行榜:输入:3输出:2、设置游戏:输入:2输出:请输入你想猜的次数:输入:20输出:请输入你想猜的单词数:输入:2输出:您尊姓大名:输入:梅阳阳

12、输出:-高手过招-请输入你要猜的字母,每次一个!a- 你还有 20 次机会!3、开始猜单词游戏:4、进行游戏:输出:请输入你要猜的字母,每次一个,祝你好运哦!- 你还有 20 次机会!输入:a输出:- 你还有 19 次机会输入:f输出:- 你还有 18 次机会输入:l输出:-l- 你还有 18 次机会输入:r输出:-l- 你还有 17 次机会输入:h输出:h-l- 你还有 17 次机会输入:t输出:h-l- 你还有 16 次机会输入:l输出:你已经输入过这个字母了h-l- 你还有 15 次机会输入:p输出:h-lp 你还有 15 次机会输入:ehelp你成功猜出了这个单词,算你狠,下次整个难点

13、儿的!正确单词就是:help 你猜对了 4 个字母,猜错了 4 个字母。错误字母分别是:afrt共用时:23 秒是否在玩一次?(Y/N)输入:N输出:请输入你的选择:5、游戏记录保存:6、查看游戏结束后更新过的成绩排行榜:输入:3输出:7、退出程序:输出:请输入你的选择:输入:4输出:Press any key to continue结果分析:1、当单词库文本和游戏记录文本无法读入时,系统将分别提示:“单词库无法打开” 、 “游戏记录无法打开!”2、在输入菜单选项时如果输入的内容不是 1-4 之间的数字,而是其他数字,系统将提示“请重新在 14 中选择” 。3、当猜一个单词的次数超过预定次数时

14、(默认为 10 次) ,系统将提示:“Sorry. 壮志未酬身先死. 正确单词是:” 4、当一轮游戏结束后,系统提示:“是否再玩一次?(Y/N)” ,选 y,重新开始游戏,选 n,返回主菜单。六、调试过程中的问题1.函数的互相调用如果掌握不好调用顺序,就先全部声明,因为程序比较大了。2.事实证明 while(1)在 c 语言中可用,不用担心死循环,因为可以用break,exit 跳出循环。3.c 语言中用以计时的算法有 n 中,我选择的是最简单适用的,但计时并不很准确,有待改进。4.目前为止,还没有行到该怎么控制程序运行时间,以时间控制程序的运行和停止,估计还是计时的算法需要更改。5. 之前看

15、准了一个计时算法(运行一次耗时 10ms)感觉计时比较精确就一直相融合到程序里来当计时工具,纠结了两天,以失败告终,很明显,我在运行计时程序会停下来等待。七、程序设计总结这是我学习 c 语言以来遇到的较为“庞大”的程序,324 行嘞!很好地锻炼了我的思维(各种循环啊,乖乖)和记忆力(写到后面忘了前面) 。接触了很多没学过的头文件 windows.h,time.h, fstream.h, conio.h,感觉挺有意思的,激发了我继续学习 c 语言的兴趣!这几天遇到的最头疼的问题就是计时,之前看准了一个计时算法(运行一次 10ms)感觉计时比较精确就一直相融合到程序里,纠结了两天,以失败告终,很明显,我在运行计时程序会停下来等,555。最终换了另一个精度较差但比较实用的算法。从这几天来看,调试能力弱爆了,一来比较麻烦二来操作步骤不熟练,有待提高哇。再不提高以后能力就不够用了。但是我好想形成了一个习惯代替调试,步骤如下:1 有错误 2 注释或更改错误部分使之可以运行 3 运行看哪里不合要求再改。呵呵,貌似习惯不大好,但是用习惯了也挺顺手。 。 。 。不过,调试必须熟练,得为以后打算啊!另外关于对该课程组织和考核方式,我觉得已经挺好了,但是还是自己的电脑用得比较顺,哈哈。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报