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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

背单词小程序.docx

1、背单词小程序软件工程专业C+ 课程设计报告一课程设计目的及要求1设计目的1.提高和加强计算机应用与软件开发能力,由初学者向专业的程序员过渡。2.培养独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月 异发展的形势。3.学习和掌握 C+ 程序设计方法以及上机调试技巧, 为今后学习其它专业课程打好基 础。2设计要求(题目)1)背单词小程序2)学生选课系统二课程设计的具体实现1)背单词小程序1总体设计本程序主要有以下功能: 添加新词 顺序测验和随即测验 记录没背过的词 查找单词的汉语或英语意思 (输入中文查对应的英语意思, 输入英文查对应汉语意思)各模块执行完3.未4.英3.已进入

2、程序,显主要流V 6.1添随英机译背单背单顺汉序译汉互2 详细设计具体实现包括十个模块和一个头文件。分别是: First.cpp, Main.cpp.Menu.cpp, Part l.cpp, Part 2.cpp, Part 3.cpp, Part 4.cpp, Part 5.cpp, Part 6.cpp 五大功能粗实现.cpp, HEAD.H。Meu n函数主要功能:用户进入系统首先执行的就是主函数,然后进入主菜单函数, 它将显示主界面,并提示用户选择所需的功能。其中改变了屏幕和字体的 颜色来构造一种欢快的气氛来学习。主功能: 1.添加单词;2.进入检测;3.已背单词;4.未背单词;5.

3、英汉互译;6.退出。请选择:system(cls); / 清屏Add_word(); 、调用添词函数 cinj;system(cls);if(j=1)Add();else if(j=2)system(cls);Frame();else / 尽量避免在使用程序时因操作引起的失误cout认真一点!( v_ )#endl;cout 回答问题决定您的方向: endl;cout 您是否对我的程序满意: Y/Nch;if(ch=Y|ch=y)system(cls);Frame();elseexit(0);else if(i=2)system(cls);Test();cinj;if(j=1)Test_ByO

4、rder();cout 任意键返回主目录 !ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Test_Bylmmediately();cout任意键返回主目录! ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)添加单词主要功能:用户在主界面选择功能1后即执行添加单词模块。它将提示 用户输入添加单词,之前可以显示已存在的单词,利用while循环实现不定量输入单词,最后保存到单词库请选择:主要使用技术:文件指

5、针(FILE *fp) while判断循环 关键代码:char ch=Q; 用来判断是否继续输入单词if(fp=fope n(dictio nary.txt,ab+)=NULL)cout文件无法打开!endl; exit(0);/特别有成 for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+) coutWordi. nu m vWordi.E_wordve ndl;就感的地方!把以前的单词输出来展示j=i;while(ch=q|ch=Q) / while循环支持不断向文件载入内容coutvv目前单词库单词存储量为:vvjvve ndl; cout请分别输入

6、新增单词的编号、单词、中文翻译和背诵记录(tt/ff):Wordj. numWordj.E_wordWordj.C_wordWord|j.TF;fwrite(&Wordj,sizeof(WoRD),1,fp);coutvv添加成功!是否继续增添单词,继续则输入Q/qe ndl;cin ch;检测功能主要功能:用户在主界面选择功能2后即执行该模块。在此模块中可以 实现顺序检测和随机检测。用户输入正确或错误都会给与提示 !并且可以输 入想要检测的单词数量,量力而行。主要技术:文件的读出与写入,取随机数,if语句关键代码:if(fp=fopen(dictionary.txt,ab+)=NULL)co

7、ut 文件无法打开 !endl;exit(0); for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout 随即检测开始 !:endl;cout 请输入这次测试的单词量: p;if(p=t)for(i=0;it;i+)char word10;int j;j=rand()%t; / 产生随机数 coutWordj.C_word word; if(strcmp(word,Wordj.E_word)=0)cout 回答正确 !endl;char tf3=tt;strcpy(Wordi.TF,tf); / 将信息记录在案! elsecout 回答错误 !en

8、dl;char tf3=ff; strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)char word10;int j;j=ra nd()%p; / 产生随机数 coutWordj.C_wordvv word;if(strcmp(word,Wordj.E_word)=0) _ cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecoutvv回答错误!endl; char tf3=ff;strcpy(Wordi.TF,tf);关键代码:if(fp=fopen(dictionary.txt,ab+)=NULL) / 打开文件

9、并判断文件是否存在cout 文件无法打开 !endl; exit(0); for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp); / 将文件信息读出 cout 已背过的单词: endl;for(i=0;it;i+)char ch5=tt;char cf5=TT;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) / 和 英汉互译差不多的操作 判断后输出coutWordi.E_word Wordi.C_wordendl;未背单词主要功能:用户在主界面选择功能 3后即执行该模块, 能够显示尚未背 诵的单词。主要技术:

10、该模块只是调用和显示, 主要用到了 if 函数和字符串处理和 文件的读出技术。-关键代码:if(fp=fope n(dictio nary.txt,ab+)=NULL) cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread( &Wordi,sizeof(WoRD),1,fp);cout未背过的单词:e ndl;for(i=0;it;i+)char ch5=ff;char cf5=FF;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)coutWordi.E_wordvWordi.C_wordve ndl; 英汉互译主

11、要功能:用户在主界面选择功能5后即执行该模块,能够进行英汉互 译功能。主要技术:该模块只是调用和显示,主要用到了 if函数和字符串处理和 文件的读出技术。关键代码:char E20; 用数组是为了下面的地址WoRD Word100;if(fp=fope n(dictio nary.txt,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread( &Wordi,sizeof(WoRD),1,fp);cout输入其英文: E;for(i=0;it;i+) if(strcmp(Wordi.E_word,E)=0) coutWordi.C_worde

12、 ndl; cout任意键返回主目录! ch;if(ch=b|ch=B)system(cls);Frame(); elsesystem(cls);Frame();头文件本套程序一共有一个头文件。 HEAD.h 用于定义单词结构体,共有“单 词编号”,“ 单词英文”,“ 单词中文意思”,“ 标注”几项。代码如下 :struct WoRD / 没有用 WORD时因为 #includevwindows.h 里有叫WOR的 O_O b 汗!int num; / 单词编号char E_word20; / 单词英文char C_word30; / 单词中文意思char TF3; / 用来标注是否背过;3调

13、试及问题解决本套程序的调试中遇到过许多问题。尤以以下几个最具代表性和启发 性:1程序无法循环使用。刚开始程序完成一项功能后就自动退出程序,总是不能再返回主菜单, 这样程序也就显得特无力。后来通过他人指导利用函数间相互调用完成了 界面间自由往来!而且利用清屏功能让程序显得干净明了!void Frame()int i,j;Menu();cini;if(i=1)system(cls);Add_word();cinj;system(cls);if(j=1)Add();else if(j=2)system(cls);Frame();else / 尽量避免在使用程序时因操作引 起的失误 cout认真一点!

14、( J_ )#endl; cout 回答问题决定您的方向: endl; cout 您是否对我的程序满意: Y/Nch;if(ch=Y|ch=y)system(cls);Frame();elseexit(0);2文件的调入后的数据更新。每次进行单词添加的时候都只能显示 10 个单词,但是我渴望的是把以 前的单词输出来,再把这次添加的单词也输出来。 。后来我利用一个数组把文件里的单词信息记录了一下, 再把那个全局变 量记录一共多少单词数,这样就使得程序对单词信息很清晰,单词更新也 不再是问题!void First() / 这个函数实现了文件信息的更新 每次开始它都可以将以前的文件内容跟现在串起来

15、! 是我花费最长时间的地方 ! T_T WoRD Word100;FILE *fp;int i,j;if(fp=fopen(dictionary.txt,ab+)=NULL)cout 文件无法打开 !endl;exit(0); for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)t=i; / 将上次单词数赋给现在需要使用的 t 记录下来 !3显示背诵过和为背诵过的单词不能实现试过用bool,但是失败了!。一。b汗 后来我从int换到char又换 到字符串! 利用字符串处理函数 strcmp(str1,str2)=0 实现了。 有时候就 是一个很简单的问题

16、,但是就是弄不好!挺可恶! if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)/ 条件符合就输出 coutWordi.E_word Wordi.C_wordendl;4关于重名在用 #include 包含一些系统自带的头文件时会遇到自己的构造体或变 量明和系统冲突,虽然这个知识点在课本一开始就知道了,但是真正在实 战中还挺难发现。必有 WOR就在“ windows.h ”中存在。5.一些遗憾 对于文件流相关知识的不熟悉让我感觉很受挫!不过没关系,我可以利用下 一个程序去熟悉去掌握! 这个小程序中仍旧存在的种种问题让我也压力挺大 的,但是迫于时间和考试

17、只好将修改作罢了 不过因此我也理解了那些已经在 一线奋斗的前辈的苦恼,软件真的没有那么简单! !以下是附带代码: 背单词的小程序/ 头文件 HEAD.Hstruct WoRD / 没有用 WORD时因为 #includewindows.h 里有叫 WOR的 O_O b 汗!int num; / 单词编号char E_word20; / 单词英文char C_word30; / 单词中文意思char TF5; / 用来标注是否背过;/FIRST.CPP#include#include#include#includeHEAD.Hvoid Frame();#includeint t;void Fir

18、st() / 这个函数实现了文件信息的更新 每次开始它都可以将以前的文件内容跟现在串起来 ! 是我花费最长时间的地方 ! T_TWoRD Word100;FILE *fp;int i,j;if(fp=fopen(dictionary.txt,ab+)=NULL)cout 文件无法打开 !endl;exit(0); for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)t=i; / 将上次单词数赋给现在需要使用的 t 记录下来 !/MAIN.CPP#include#includeHEAD.H#includevoid First();void Frame();

19、void main()system(color 3E); / 屏幕及字体颜色SetConsoleTitle( 英 语 也 疯 狂 老邓制作 !); / 屏幕标题First();Frame(); /Game begin!MENU.CPP#include#include#include#includeHEAD.Hextern int t; / 全局变量void Add_word();void Add();void Test();void Test_ByOrder();void Test_ByImmediately();void Review();void Done();void Preview()

20、;void Doing();void Translate();void Transluate_EC();void Transluate_CE();void Quit();void Menu() / 主菜单 (A 3 A) /endl;cout 背单词 cout endl;cout添加新词endl;coutendl;cout进入检测endl;coutendl;cout已背单词endl;coutendl;cout未背单词endl;coutendl;cout英汉互译endl;coutendl;cout返回现实endl;coutcout 请选择 :; void Frame()i;if(i=1)syst

21、em(cls);Add_word();cinj;system(cls);if(j=1)Add();else if(j=2) system(cls); Frame();else / 尽量避免在使用程序时因操作引起的失误cout认真一点!( )#endl;cout 回答问题决定您的方向: endl;cout 您是否对我的程序满意: Y/Nch;if(ch=Y|ch=y)system(cls);Frame();elseexit(0);else if(i=2)system(cls);Test();cinj;if(j=1)Test_ByOrder();cout 任意键返回主目录 !ch;if(ch=b|

22、ch=B)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Test_ByImmediately();cout 任意键返回主目录 !ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame(); else if(j=3)system(cls);Frame();else / 尽量避免在使用程序时因操作引起的失误cout 认真一点!( )#endl;cout 回答问题决定您的方向: endl;cout 您是否对我的程序满意: Y/Nch;if(ch=Y|ch=y)system(c

23、ls);Frame();elseexit(0);else if(i=3)system(cls);Review();cinj;if(j=1)Done();cout 任意键返回主目录 !ch;if(ch=b|ch=B)system(cls);Frame();elseelse if(j=2) system(cls); Frame();else / 尽量避免在使用程序时因操作引起的失误cout 认真一点!( )#endl;cout 回答问题决定您的方向: endl;cout 您是否对我的程序满意: Y/Nch; if(ch=Y|ch=y)system(cls);Frame();elseexit(0);

24、else if(i=4) system(cls);Preview();cinj; if(j=1) Doing(); cout 任意键返回主目录 !ch;if(ch=b|ch=B)system(cls);Frame(); else else if(j=2)system(cls);Frame();elsecout/ 尽量避免在使用程序时因操作引起的失误认真一点!( J_ )#”endl;cout 回答问题决定您的方向: endl;cout 您是否对我的程序满意: Y/Nch;if(ch=Y|ch=y)system(cls);Frame();elseexit(0); else if(i=5)system(cls);Translate();cinj;if(j=1)Transluate_EC();cout 任意键返回主目录 !ch; if(ch=b|ch=B)system(cls);Frame(); elseelse if(j=2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1