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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(程序设计猜单词汇总.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

程序设计猜单词汇总.docx

1、程序设计猜单词汇总程序设计报告( 2014 / 15 学年 第 一 学期)题 目:猜字游戏 专 业 组长 学号姓名 组员 学号姓名 指 导 教 师 指 导 单 位 日 期 成员分工组长()调试程序程序代码(选择等级的功能、记录排名的功能)组员()编辑报告程序报告(实现进行游戏的功能、显示菜单的功能)组员()评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语 教师签名: 年 月 日评分等级备注评分等级共五种:优秀、良好、中等、及格、不及格猜

2、单词一、课题内容和要求这是一个简单的智力游戏,游戏者每次只能猜一个字母,如果游戏者猜的字母在单词中,单词中所有的该字母将被视为已猜出,例如:如果原单词是apple,游戏者猜出了p,则程序应显示当前猜出的残缺单词为-pp-;设置选择时间限制或猜错次数限制,超过限制则游戏失败。1-5个字母为初级;5-9个字母为中级;10个字母以上为高级,猜错次数限制自定。1.设计游戏者信息格式,记录用户名、成绩,并保存,下次开始时可选择用户继续游戏,用户信息存放2.在user.txt中。建立积分排行榜,保留不同级别前五名的成绩。3.根据单词长度设置不同级别的游戏。4.游戏过程中,猜错的字母将被记录下来,每次猜测后

3、,游戏应显示出当前猜出的残缺单词,以及当前猜错的所有字母,和剩下的机会。5.提供相应安全机制,保证程序的健壮性,如选择单词长度时,应避免非数字字符的输入造成程序出错等。6.提供选择一次求助机会。如显示单词一秒钟,或给出指定位置上的一个字母二、需求分析功能框架图如图1所示。图1 功能框架图(1)新游戏:提供进入游戏的功能。(3)排行:提供建立成绩积分表,保留不同级别前五名成绩的功能。(3)设置:提供选择猜测次数和难度等级的功能。(4)帮助:提供游戏说明的功能。(5)退出:提供退出游戏的功能。三、概要设计 1 主要结构体typedef struct Player int ranker; char

4、name20; /玩家姓名 int right; /猜对的字母 int wrong; /猜错的字幕 int time; /猜单词的时间Player;2 主要函数流程图 用Void PlayGame()作为主体来进行游戏。如图2 图2 函数结构图四、源程序代码 #include #include #include #include #include int rank=7,tot=0,guesstime=10;double start_time,end_time;typedef struct Player int ranker; char name20; int right; int wrong;

5、 int time;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;int times;char wordlist100020;void get_word();void chooose_len();void choose_guesstime ();void input_name();void Compare();void Record();void PlayGame();void Men

6、u();int main(int argc, char *argv) get_word(); while(1) /使得猜完单词或查看完排行榜后返回主菜单 Menu(); return 0;void get_word() FILE *fp; if(fp=fopen(d:/word.txt,r+)=NULL) /读文件 printf(单词库无法打开!n); exit(0); else while(fscanf(fp,%s,wordlisttot+)!=EOF); void chooose_len() ag:printf(请选择最大单词长度:(范围5-15); scanf(%d,&rank); if

7、(rank1)goto ag;void choose_guesstime () printf(请输入你想猜的次数:); scanf(%d,&guesstime);void input_name() printf(请先输入您的大名:); scanf(%s,temp.name);void StartGame () while(1) int i; char play; printf(请输入你要猜的字母,每次一个,祝你好运哦!n); PlayGame(wordlist); temp.time=times; temp.right=right; temp.wrong=wrong; Compare(); R

8、ecord(); printf(是否再玩一次?(Y/N)n); scanf( %c,&play); if(play!=n) continue; else break; printf(n); void Compare() int i; for(i=0;ipi.right) strcpy(pi.name,temp.name); pi.right=temp.right; pi.wrong=temp.wrong; pi.time=temp.time; break; void Record() int i; FILE *fp; fp=fopen(d:/record.txt,w+); if(!fp) pr

9、intf(游戏记录无法打开!); exit(1); fprintf(fp,111名次t姓名tt成绩:猜对 or 猜错)t时间(s)n); for(i=0;i5;i+) fprintf(fp,%dt%sttRight:%d Wrong:%dt%dn,i+1,pi.name,pi.right,pi.wrong,pi.time); fclose(fp);void Show() int i; FILE *fp; char ous200; fp=fopen(d;/record.txt,r+); if(!fp) printf(游戏记录无法打开!n); exit(1); while(fgets(ous,25

10、6,fp)puts(ous); fclose(fp);void PlayGame() char guess; /存用户打入的字母 char play; char guessword20,WrongGuess20; int c=1,l,j,f,k=0; int q; int x=0,t=0; int flag =0; while(1) guess=play=l=j=f=k=q=x=t=flag=0; for(c=0;crank)goto ag2; /求单词长 for(f=0;fl;f+)guesswordf=-; /定义词一空单词,词长与所选一样 guesswordl=0; /字符串结尾 pri

11、ntf(%s,guessword);/打印与词长相同的- for(k=1;k=guesstime & c!=0;) /判断是否猜完 flag=0; printf(你有%d次机会!n,guesstime-k+1); scanf( %c,&guess); for(j=0;j 1. 开始游戏 2. 设置游戏 3. 成绩排行 4. 帮助 5. 退出游戏 n); printf( *n);printf() printf(请输入你的选择:); scanf(%d,&choice); while(choice5) printf(Please choice 1-5 againn); scanf(%d,&choic

12、e); switch (choice) /选择 case 2: chooose_len(); case 1: input_name(); StartGame();/调用游戏函数 break; case 3: Show(); break; case 4: printf( 游戏规则:n); printf( 这是一个简单的智力游戏,游戏者每次只能猜一个字母 n); printf( 如果游戏者猜的字母在单词中,单词中所有的该字母将被视为已猜出 n); printf( 例如:如果原单词是apple,游戏者猜出了p,则程序应显示当前猜出的残缺单词为-pp-n); printf( 设置选择时间限制或猜错次数

13、限制,超过限制则游戏失败 n); printf( 1-5个字母为初级;5-9个字母为中级;10个字母以上为高级,猜错次数限制自定n); break; case 5: printf(欢迎下次来玩n); exit(0); 五、测试数据及其结果分析结果分析:1)在输入菜单选项时如果输入的内容不是1-0之间的数字,而是其他数字,系统将继续执行等待下次正确的输入 2)要建立word还有record文件才可以正常运行。六、调试过程中的问题1)是时间函数的添加,先在没有猜之前提取一次时间,然后再在猜完之后提取一次时间然后,两次的时间差为猜单词所需要的时间。一定要先定义double start_time,en

14、d_time;然后才可以应用的, while(1) guess=play=l=j=f=k=q=x=t=flag=0; for(c=0;c20;+c) guesswordc=WrongGuessc=0; c=1; start_time=(double)clock()/CLOCKS_PER_SEC;/开始时间 ag2: srand(time(NULL); q=rand()%tot; /printf(The True Letter is %sn,worldlistq); /查看程序随机选到的单词,调试时使用先提取开始的时间 l=strlen(wordlistq); printf(错误单词是%sn,W

15、rongGuess); end_time=(double)clock()/CLOCKS_PER_SEC; printf(Time used = %.2lf sn,end_time-start_time); printf(是否再玩一次?(y/n)n); scanf( %c,&play); if(play!=n) continue; else exit(0);然后再提取后来的时间七、课程设计总结 21世纪是科技飞速发展的时代,而计算机技术的发展起到了决定性作用。生活中的一切与计算机有着千丝万缕的联系。也许是教室里老师必不可少的教学用具,也许是吃个饭都愿意揣着的通讯设备,也许是各式人看万千网络文件的

16、智能神器。21世纪时代发展是计算机技术发展的成果,一个美好的时代是计算机技术给我们最好的礼物。所以组员们虽然不是计算机专业的学生,但是都必须进行这一次关于计算机程序设计的实习,这是学校为我们敞开的一次领悟计算机魅力的旅行。在整个实习中,组员间相互分配任务,展开寻找实现各项功能程序代码的工作。我们重新翻开c+课本,回忆,探索,思考,为了找到满意的代码而苦恼。运行,更改,运行,更改,再运行,再更改,不希望看到error的心情到达极致,没有捷径来实现计算机程序苛刻的要求。或许这是计算机给我们的警戒,我们享有的一切便利,背后都是所有密集的思考和创新。其实在实践过程中,“原来如此啊”也许是最常印刻在心里的心情,原来如此啊,我们手上的高科技产品是这样的,原来如此啊,这些乱七八糟的代码都有他们存在的意义,原来如此啊,一整个程序也可能就败在一个小小的字符上。总而言之,在完成这份报告时,以想努力克服的心态面对所有的不足,也希望两周的实践不会是学习计算机最后的步伐,希望会更好的学习计算机。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2