版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程专业C+课程设计报告班级:软件 姓名: 学号:一.课程设计目的及要求1 .设计目的提高和加强计算机应用与软件开发能力,由初学者向专业的程序员过渡。培养独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月 异发展的形势。学习和掌握C+程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基 础。设计要求(题目)(1)背单词小程序(2)学生选课系统二课程设计的具体实现(1)背单词小程序总体设计本程序主要有以下功能:添加新词顺序测验和随即测验记录没背过的词查找单词的汉语或英语意思(输入中文查对应的英语意思,输入英文查 对应汉语意思)各模块执行完进入程序,显* 示主菜单主要流
2、2.检3.未4.英3.已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.HOMeun函数主要功能:用户进入系统首先执行的就是主函数,然后进入主菜单函数, 它将显示主界面,并提示用户选择所需的功能。其中改变了屏幕和字体的 颜色来构造一种欢快的气氛来学习。主功能:1.添加单词;2.进入检测;3. 已背单词;4.未背单词;5.英汉互译;6.退出。E英语也疯
3、狂! (八11勺F者邓制作!请选择请选择主要技术:if else if循环。关键代码:if(i=1)进入功能1添加新词 system(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)
4、system(cls);Test();cinj;if(j=1)Test_ByOrder();cout任意键返回主目录!ch;if(ch=b|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)添加单词主要功能:用户在主界面选择功能1后即执行添加单词模块。它将提示 用户输入添加单词,之前可以显示已存在的单词,利用w
5、hile循环实现不定 量输入单词,最后保存到单词库。或英语也疯利表开始添加返回目录 请选择:主要使用技术:文件指针(FILE *fp) while判断循环关键代码:char ch=Q;用来判断是否继续输入单词if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)coutWordi.num Wordi.E_wordendl;特别有成就感的地方!把以前的单词输出来展示j=i;while(ch=q|ch=Q)/ while循环支持不断向文件
6、载入内容!cout目前单词库单词存储量为:jendl;cout请分别输入新增单词的编号、单词、中文翻译和背诵记录(tt/ff):Wordj.numWordj.E_wordWordj.C_wordWordj.TF;fwrite(&Wordj,sizeof(WoRD),1,fp);cout添加成功!是否继续增添单词,继续则输入 Q/qch;检测功能主要功能:用户在主界面选择功能2后即执行该模块。在此模块中可以 实现顺序检测和随机检测。用户输入正确或错误都会给与提示!并且可以输 入想要检测的单词数量,量力而行。E英语也疯狂! (5八)/老邓制作!老邓制作1开次 E英语也疯狂! (5八)/老邓制作!老
7、邓制作1开次 :1测这 SA 选紧请顺请2 一回二回任录 目 主 ne,回 _o确温, 一正-i主要技术:文件的读出与写入,取随机数,if语句关键代码:if(fp二fopen(dictionary.txt,ab+)=NULL)(cout文件无法打开!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;
8、if(strcmp(word,Wordj.E_word)=0)(cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf); 将信息记录在案!else(cout回答错误!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)(char word10;int j;j=rand()%p; /产生随机数 coutWordj.C_word word;if(strcmp(word,Wordj.E_word)=0)(cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);else(c
9、out回答错误!endl;char tf3=ff; strcpy(Wordi.TF,tf);已背过单词主要功能:用户在主界面选择功能3后即执行该模块,能够显示已背诵 的单词。主要技术:该模块只是调用和显示,主要用到了 if函数和字符串处理和 文件的读出技术。关键代码:if(fp二fopen(dictionary.txt,ab+)=NULL)/ 打开文件并判断文件是否存在(cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);将文件信息读出cout已背过的单词:endl;for(i=0;it;i+)(char
10、ch5=tt;char cf5=TT;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) / 和 英汉互译差不多的操作判断后输出(coutWordi.E_word”Wordi.C_wordendl;未背单词主要功能:用户在主界面选择功能3后即执行该模块,能够显示尚未背 诵的单词。主要技术:该模块只是调用和显示,主要用到了 if函数和字符串处理和 文件的读出技术。选背。 M果选背。 M果tw关键代码:if(fp=fopen(dictionary.txt,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;it;i+)fr
11、ead(&Wordi,sizeof(WoRD),1,fp);cout未背过的单词:endl;for(i=0;it;i+)char ch5=ff;char cf5=FF;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)coutWordi.E_wordWordi.C_wordendl; 英汉互译主要功能:用户在主界面选择功能5后即执行该模块,能够进行英汉互 译功能。主要技术:该模块只是调用和显示,主要用到了 if函数和字符串处理和 文件的读出技术。英译汉汉译英返回目录任意键返回主目录,I英译汉汉译英返回目录任意键返回主目录,Ime关键代码:char E
12、20;用数组是为了下面的地址WoRD Word100;if(fp=fopen(dictionary.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_wordendl;cout任意键返回主目录!ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame();头文件本套程序一共有一个头文件。HE
13、AD.h用于定义单词结构体,共有“单 词编号”,“单词英文”,“单词中文意思”,“标注”几项。代码如下:struct WoRD / 没有用 WORD 时因为 #include里有叫WORD 的 _b 汗!int num;单词编号char E_word20;单词英文char C_word30;/单词中文意思char TF3;/用来标注是否背过;调试及问题解决本套程序的调试中遇到过许多问题。尤以以下几个最具代表性和启发 性:程序无法循环使用。刚开始程序完成一项功能后就自动退出程序,总是不能再返回主菜单, 这样程序也就显得特无力。后来通过他人指导利用函数间相互调用完成了 界面间自由往来!而且利用清屏
14、功能让程序显得干净明了!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认真一点!( J_ )#endl;cout回答问题决定您的方向:endl;cout您是否对我的程序满意:Y/Nch;if(ch=,Y,|ch=,y,)(system(cls);Frame();else(exit(0);文件的调入后的数据更新。每次进行单词添加的时候都
15、只能显示10个单词,但是我渴望的是把以 前的单词输出来,再把这次添加的单词也输出来。后来我利用一个数组把文件里的单词信息记录了一下,再把那个全局变 量记录一共多少单词数,这样就使得程序对单词信息很清晰,单词更新也 不再是问题!void First()/这个函数实现了文件信息的更新每次开始它都可以将以前的文件内容跟现在串起来!是我花费最长时间的地方! 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(
16、WoRD),1,fp)!=0;i+)(t=i;/将上次单词数赋给现在需要使用的t记录下来!显示背诵过和为背诵过的单词不能实现试过用bool,但是失败了! 一b汗 后来我从int换到char又换 到字符串!利用字符串处理函数strcmp(str1,str2)=0实现了。有时候就 是一个很简单的问题,但是就是弄不好!挺可恶! if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)/条件符合就输 出 ( coutWordi.E_word Wordi.C_wordendl;4 .关于重名在用#include包含一些系统自带的头文件时会遇到自己的构造体或变 量明和
17、系统冲突,虽然这个知识点在课本一开始就知道了,但是真正在实 战中还挺难发现。必有WORD就在“windows.h”中存在。5.一些遗憾对于文件流相关知识的不熟悉让我感觉很受挫!不过没关系,我可以利用下 一个程序去熟悉去掌握!这个小程序中仍旧存在的种种问题让我也压力挺大 的,但是迫于时间和考试只好将修改作罢了 不过因此我也理解了那些已经在 一线奋斗的前辈的苦恼,软件真的没有那么简单!(2)学生选课系统1 .总体设计教师开设选修课程,每门选修课程有课程编号,课程名称,课程性质,总学时,授 课学时,实验或上机学时,学分,开课学期等信息,学生可自由选课。试设计一选修课 程系统,使之能提供以下学生选课功
18、能:课程信息录入功能(课程信息用文件保存)课程信息浏览功能学生选修课程,按教师选择或按课程选择或按学分选择查询功能修改功能,修改该学生自己选修的课程退 出 系添加课程浏IIA*见更改课选 择查看课退 出 系添加课程浏IIA*见更改课选 择查看课课t课程库程序哪儿都能到主界面凭课程教师凭w程学分凭课程名祢详细设计本套程序使用面向对象方法进行设计。包括三个头文件,一个成员(友 元)函数定义模块,一个主程序模块和几个功能模块(somehead.h,land.h, run.h, somehead.cpp, run.cpp, land.cpp, maincpp,)。头文件 “somehead.h, la
19、nd.h, run.h”类的定义定义一个 cstudent 类,cperson 类和 clesson 类,其中 cstudent 是 cperson 类的派生类。class CSTUDENT:public CPERSONpublic:void choose_lesson();void show_lesson();void correct_lesson();private:char lesson40;class CLESSONpublic:void type_in();void look_up();private:Lesson lesson20;Land.cpp主要功能:用于对类中的成员函数及友
20、元函数进行定义。实现了选课系 统的登录功能。cout请分别填写您的账户和密码:student0.account_numberstudent0.password;cout请输入您的账号:account_number;if (strcmp(student0.account_number,account_number)=0)(cout请输入您的密码:password;if (strcmp(student0.password,password)=0)(cout登陆成功!endl;cout任意键返回选课界面!endl;somehead.cpp主要功能:将SOMEHEAD,H的函数实现,其中几乎涵盖了本程
21、序的所 有动作功能。返回现实世界更换己选课程因查看己选课程选择进修课程课程信息浏览课程信息录入请选择m选谋也痈狂!G选课也疯狂!fefefehhfefefehh返回现实世界更换己选课程因查看己选课程选择进修课程课程信息浏览课程信息录入请选择m选谋也痈狂!G选课也疯狂!fefefehhfefefehh|目前存储量为:3课耳棵名性原忌学时授课时实验学时4|目前存储量为:3课耳棵名性原忌学时授课时实验学时4武神必修110添加成功1是否继续增添,继续则输Aq/uw学分学期34iQQPinyin课1234任仙遥儿 期剑逍灵儿 学酒李赵青课1234任仙遥儿 期剑逍灵儿 学酒李赵青修查修 性必选考必面田一r
22、 决术术课 名剑霓藉 一课万气赎武回返 & 键 意按教师选课波课程选课吱学怀选课 请输入您要选择的学分:1必修 1选H 21必修 1选H 211万剑决酒剑仙1气疗术李逍遥1 请输入您要选择的课程序号:主要技术:if fread fwrite以及字符串处理关键代码:for(i=0;fread(&lesson,sizeof(Lesson),1,fp)!=0;i+)读一次输出一次!当初的问题所在! fread与fwrite要配合使用 且二进制!coutlesson.numt”/ 当年一直输出“烫”是因为数组输出一些不认识的“i”t”lesson.charactertlesson
23、.all_classhourt”lesson.teach_classhourt”lesson.out classhourt”lesson.creditt”lesson.timet”lesson.teacherendl;cout请输入您要改选的课程的序号:j;strcpy(student.lesson,);cout改课成功!”i;if(i=1)system(cls);lessoN.type_in();cout任意键返回选课界面!ch;if(ch=b|ch=B)system(cls);run();elsesystem(cls);run();else if(i=2)Qui
24、t();把 Quit()友元!Main.cpp主要功能:启动程序设置屏幕及字体颜色 和标题的内容 主要代码:void main()system(color 3E); 屏幕及字体颜色SetConsoleTitle( 选课也疯狂 ! (人人)/ -老邓制作!); 屏幕标题Cland land;land.landing();调试及问题解决在程序的编写过程中遇到过许多问题,再次列举几个有代表性的:过程与对象混淆。刚做完面向过程的程序,在做面向对象的程序时,并没有细致的去想, 直接上手就做,浪费了大量的时间,到头来又重新再做一次。后来对类什 么的还是不熟悉,导致程序的各种不顺利,仅此为戒,好好学习,踏实
25、努 力!文件的输入再次出现无法改变的烫和内存的读写错误。无法控制循环输出时变量的值,不是多输出就是少输出,乱七八糟,盲 目借鉴他人经验,更是一点没进展。后来安心下来去整理代码,才发现fread 和fwrite要配合使用二进制,汗:#include” *”重复调用头文件在程序中定义一个对象系统说多了,不定义又说少了。以后我会记得检 查一下是不是程序头文件的包含是否有内容重复。三心得体会转眼之间课设就要过去,现在回首这一段的生活,真的让我成 长不少!以前学习多是纸上谈兵,实际操作真的很少。当老师把任 务布置下来时,顿时我就乱了分寸呵呵不过还好上册学的还行, 短期调整之后就开始了我的工程。一次次的报
26、错,然后在一次次耐 心去寻找错误,最后在一次次声音的变化中体会到了成功的快感! 其实程序员挺快乐的!有时候认为程序员的生活忙碌单调有枯燥,无止尽的苦和累!- 真是不幸,忽然就又犯了小马过河的错误,咳!真的只有试过之 后才明白!程序员双手敲击出来的不是一彳亍行代码,而是一块块程 序员心中世界的砖瓦!具体说一说一些心得体会:一定要有安排,在将计划设计好之后再动手!策 划成本越高,实际成本就越低!遇到问题要迅速冷静分析!养成良好的编程习惯 会让人受益匪浅!在困难一直没有解决的时候要果断向互联网及 身边友人求助,一个好汉三个帮嘛!耳界单打独 斗是行不通的!大家都要互相帮助才是!要多多尝试新鲜技术,让自
27、己的思想时刻处于兴 奋状态是一种很美好的感觉!程序始终是设计给人的! IT业是一个服务产业,将程序设计的更人性话应该是我们永远的目标!每个人都应该找一个地方把自己曾经犯下的错误记下来!什么是最宝贵的?YES !你懂得!我喜欢编程!我渴望在我的暑假中得到更多的训 练来加快自己的成长!因为我的心中有那么一个愿望 嘿嘿嘿嘿!八、八、八、八、软件工程101邓宇翔201000834114以下是附带代码:背单词的小程序/头文件HEAD.Hstruct WoRD /没有用 WORD 时因为 #include里有叫 WORD 的 O_Ob 汗!int num;/单词编号char E_word20;/单词英文c
28、har C_word30;/单词中文意思char TF5;用来标注是否背过;/FIRST.CPP#include#include#include#includeHEAD.H”void Frame();#include int t;void First()/这个函数实现了文件信息的更新每次开始它都可以将以前的文件内容跟现在串起来!是我花费最长时间的地方! 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,sizeo
29、f(WoRD),1,fp)!=0;i+)t=i;/将上次单词数赋给现在需要使用的t记录下来!/MAIN.CPP#include#includeHEAD.H”#includevoid First();void Frame();void main()system(color 3E); /屏幕及字体颜色SetConsoleTitle(英 语 也疯狂! 厂co)/老邓制作!); 屏幕标题First();Frame(); /Game begin!MENU.CPP#include#include#include#includeHEAD.H”extern int t;/全局变量void Add_word()
30、;void Add();void Test();void Test_ByOrder();void Test_ByImmediately();void Review();void Done();void Preview();void Doing();void Translate();void Transluate_EC();void Transluate_CE();void Quit();void Menu() /主菜单coutendl;cout endl;cout endl;cout endl;cout endl;cout老邓疯狂英语 endl;cout-背单词篇 endl;cout endl
31、;cout添加新词 endl;cout endl;cout 进入检测 endl;cout endl;cout 已背单词 endl;cout endl;cout 未背单词 endl;cout endl;cout英汉互译 endl;cout endl;cout返回现实 endl;cout endl;cout endl;cout endl;couti;if(i=1)system(cls);Add_word();cinj;system(cls);if(j=1)Add();else if(j=2)system(cls);Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!(
32、J_,)#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,|ch=,B,)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Test_ByImmediately();cout任意键返回主目录!ch;if(ch=,b,|ch=,B,
33、)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)system(cls);Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!( J_,)#endl;cout回答问题决定您的方向:endl;cout您是否对我的程序满意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);else if(i=3)system(cls);Review();cinj;if(j=1)Done();cout任意键返回主目录!ch;if(ch=,b,|ch=,B,)syst
34、em(cls);Frame();elsesystem(cls);Frame();else if(j=2)system(cls);Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!( J_,)#endl;cout回答问题决定您的方向:endl;cout您是否对我的程序满意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);else if(i=4)system(cls);Preview();cinj;if(j=1)Doing();cout任意键返回主目录!ch;if(ch=,b,|ch=,B,)system(
35、cls);Frame();elsesystem(cls);Frame();else if(j=2)system(cls);Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!( 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,
36、)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Transluate_CE();cout任意键返回主目录!ch;if(ch=,b,|ch=,B,)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)system(cls);Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!( J_,)#endl;cout回答问题决定您的方向:endl;cout您是否对我的程序满意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Fram
37、e();elseexit(0);else if(i=6)system(cls);Quit();cinj;if(j=1)exit(0);else if(j=2)system(cls); Frame();else/尽量避免在使用程序时因操作引起的失误cout认真一点!( J_,)#endl;cout回答问题决定您的方向:endl;cout您是否对我的程序满意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);/Part l.cpp#include#include#include#includeHEAD.H”extern int t;voi
38、d Frame();void Add_word();void Add()WoRD Word100;FILE *fp;int i,j;char ch=,Q,;/用来判断是否继续输入单词if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)coutWordi.num Wordi.E_wordendl;/ 特别有成就感的地方!把以前的单词输出来展示j=i;while(ch=q|ch=Q)/ while循环支持不断向文件载入内容!cout目前
39、单词库单词存储量为:jendl;cout请分别输入新增单词的编号、单词、中文翻译和背诵记录 (tt/ff):Wordj.numWordj.E_wordWordj.C_wordWordj.TF;fwrite(&Wordj,sizeof(WoRD),1,fp);cout添加成功!是否继续增添单词,继续则输入Q/qch;t=j;fclose(fp); /关闭文件system(cls); /清屏Frame(); /返回主程序/PART 2.CPP#include#include#include#include#include#includeHEAD.H”extern int t;void Test_B
40、yOrder()FILE *fp;int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);/从文件中读入结构体数组fread(&Wordi-1,sizeof(WoRD),1,fp);/再加一个实现了跟数字同步!当初没有想到的问题cout顺序检测开始!:endl;cout请输入这次测试的单词量:p;if(p=t)for(i=0;it;i+)char word10;coutWordi.C_word wo
41、rd;if(strcmp(word,Wordi.E_word)=0)cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);/更改单词信息是否被背过elsecout回答错误!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)char word10;coutWordi.C_word word;if(strcmp(word,Wordi.E_word)=0)cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答错误!endl;char tf3=ff
42、;strcpy(Wordi.TF,tf);fclose(fp); void Test_ByImmediately()FILE *fp;int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件无法打开!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_wor
43、d word;if(strcmp(word,Wordj.E_word)=0)cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答错误!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)char word10;int j;j=rand()%p;/产生随机数coutWordj.C_word word;if(strcmp(word,Wordj.E_word)=0)cout回答正确!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答错误!e
44、ndl;char tf3=ff;strcpy(Wordi.TF,tf); fclose(fp);/PART 3.CPP#include#include#include#include#includeHEAD.H” extern int t;void Done()FILE *fp; int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL) / 打开文件并判断文件是 否存在 cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout”已背过的单词:en
45、dl;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; fclose(fp);/PART 4.CPP#include#include#include#include#includeHEAD.H” extern int t;void Doing()FILE *fp; int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL
46、) cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout未背过的单词:endl;for(i=0;it;i+) char ch5=ff;char cf5=FF;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) coutWordi.E_word Wordi.C_wordendl;fclose(fp);/PART 5.CPP#include#include#include#includeHEAD.H”#include extern int t;void Tra
47、nsluate_EC()FILE *fp;int i;char E20;用数组是为了下面的地址WoRD Word100;if(fp=fopen(dictionary.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_wordendl;fclose(fp);/PART 6.CPP#include#include#include#includeHEA
48、D.H”#include extern int t;void Transluate_CE()FILE *fp;int i;char C20;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件无法打开!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout输入其中文:C;for(i=0;it;i+)if(strcmp(Wordi.C_word,C)=0)coutWordi.E_wordendl;fclose(fp);/五大功能粗实现.cpp#includevoi
49、d Add_word()/增添单词栏coutendl;coutendl;coutendl;cout开始添加endl;cout endl;cout返回目录 endl;cout endl;cout endl;cout endl;cout请选择:;void Test()/测试栏cout endl;cout endl;cout endl;cout endl;cout顺序检测 endl;cout endl;cout endl;cout随机检测 endl;cout endl;cout endl;cout返回目录 endl;cout endl;cout endl;cout endl;cout endl;co
50、ut请选择:;void Review()/查看已背单词cout endl;cout endl;cout endl;cout endl;cout回顾历史 endl;cout endl;cout endl;cout返回目录 endl;cout endl;cout endl;cout endl;cout endl;cout请选择:;void Preview()/查看未背单词cout endl;cout endl;cout endl;cout endl;cout展望未来 endl;cout endl;cout endl;cout返回目录 endl;cout endl;cout endl;cout en
51、dl;cout endl;cout请选择:;void Translate()/英汉互译栏cout endl;cout endl;cout endl;cout endl;cout英译汉 endl;cout endl;cout endl;cout汉译英 endl;cout endl;cout endl;cout返回目录 endl;cout endl;coutendl;coutendl;coutendl;cout请选择:;void Quit()/退出栏cout endl;cout endl;cout endl;cout endl;cout 真的要离开?! endl;cout endl;cout en
52、dl;cout 再学习一会儿!endl;cout endl;cout endl;cout endl;cout endl;cout请选择:”;学生选课系统/land.h#include class Clandpublic:void landing();void pass();void Register();friend void Quit();static int i;;/run.hclass Crunpublic:void run();;/somehead.h struct Lessonint num;char name20;char character10;int all_classhour
53、;int teach_classhour;int out_classhour;int credit;int time;char teacher20;struct Studentint num;char account_number20;char password20;class CLESSONpublic:void type_in();void look_up();private:Lesson lesson20;class CPERSONprivate:char name40;;class CSTUDENT:public CPERSONpublic:void choose_lesson();v
54、oid show_lesson();void correct_lesson();private:char lesson40;/land.cpp#include#include#include#include#includeLand.h”#includeSomehead.h”#includeRun.h”int Cland:i=0;Cland land;void Cland:Register()FILE *fp;char ch;Student student1;if(fp=fopen(Students.txt”,wb+)=NULL)coutCan not open this file!endl;e
55、xit(0);cout请分别填写您的账户和密码:student0.account_numberstudent0.password;cout注册成功!endl;rewind(fp);fwrite(&student0,sizeof(Student),1,fp);fclose(fp);cout任意键返回登录界面!ch;if(ch=,b,|ch=,B,)system(cls);landing();elsesystem(cls);landing();void Cland:pass()FILE *fp;Crun run;Student student1;char account_number20;char
56、 password20;if(fp=fopen(Students.txt”,ab+)=NULL)coutCan not open this file!endl;exit(0);fread(&student0,sizeof(Student),1,fp);rewind(fp);cout请输入您的账号:account_number;if (strcmp(student0.account_number,account_number)=0)cout请输入您的密码:password;if (strcmp(student0.password,password)=0) cout登陆成功!endl;cout任意
57、键返回选课界面!ch;if(ch=,b,|ch=,B,)system(cls);run.run();elsesystem(cls);run.run();elsecout输入的密码不正确!2)cout您尝试次数太多,请稍后再试!ch;if(ch=,b,|ch=,B,)system(cls);landing(); elsesystem(cls);landing(); pass();elsecout账户不存在!2)cout您尝试次数太多,请稍后再试!ch;if(ch=,b,|ch=,B,)system(cls);landing();elsesystem(cls);landing();pass();v
58、oid Quit()coutmendl;coutendl;coutendl;coutendl;cout玩DOTA去!endl;coutendl;cout等会儿再走endl;coutendl;coutendl;coutendl;coutendl;int t;cout请选择序号:t;if(t=1)exit(0);elsesystem(cls);land.landing();void Cland:landing()system(cls);/放在这正好把前面的全部清除掉!coutendl;coutendl;coutmmmmendl;coutmm学生选课系统mmendl;coutmmmmendl;cou
59、tmm登录mmendl;coutmmmmendl;coutmm注册mmendl;coutmmmmendl;coutmm退出mmendl;coutmmmmendl;coutmmmmendl;coutendl;couta;if(a=1)pass();else if(a=2)Register。; else if(a=3)Quit();/run.cpp#include#include#include#includeSomeHead.h”#includeLAND.H#includeRun.hvoid Crun:run()cout”endl;cout”mendl;cout”endl;cout”mmmmen
60、dl;cout”mmmmendl;cout”mm课程信息录入mmendl;cout”mmmmendl;cout”mm课程信息浏览mmendl;cout”mmmmendl;cout”mm选择进修课程mmendl;cout”mmmmendl;cout”mm查看已选课程mmendl;cout”mmmmendl;cout”mm更换已选课程mmendl;cout”mmmmendl;cout”mm返回现实世界mmendl;cout”mmmmendl;coutr壬廿endl;coutendl;coutendl;cout请选择:i;if(i=1)system(cls);lessoN.type_in();cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 3246.2-2026变形铝及铝合金制品组织检验方法第2部分:低倍组织检验方法
- 某地区隔离政策的伦理效果评估报告
- 极端气候事件与口腔急诊病例的关联研究
- 极端天气医疗救援物流能力评估
- 极地环境对人体耳鼻喉系统的生理影响
- 医学26年:内分泌疾病常见误区 查房课件
- 2026年说课稿美术赣美版初中
- 羊水过多孕妇的治疗决策
- 肺结核患者的护理创新
- 高中2025年课题研究探究说课稿说课稿
- 电商直播主播培训课程
- 2025年云南省中考模拟英语试题(原卷版+解析版)
- 《中国石油化工集团财务管控存在的问题及完善对策研究》9900字(论文)
- 专题07 直角三角形斜边上的中线 带解析
- 《你当像鸟飞往你的山》读书分享读书分享笔记
- 二零二五年光伏发电工程造价咨询合同3篇
- 一例股骨颈骨折的个案护理
- 租赁工地叉车合同范文大全
- 脑梗死肺部感染护理
- 浙江省杭州市2021年中考英语真题(含答案)
- 北京市朝阳区2024年中考物理一模试卷
评论
0/150
提交评论