《2022年C++课程设计报告.pdf》由会员分享,可在线阅读,更多相关《2022年C++课程设计报告.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计报告设计题目:单词及其释义的录入和读取学生姓名:专业:计算机科学与技术班级:1001班学号:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - 指导教师:完成日期:2011年 07 月 01 日合肥工业大学计算机与信息学院精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - (一)需求和规格说明设
2、计一个程序,该程序输入一个英语单词和它的释义(应考虑一个单词可以有多个释义) 。将单词和它的释义分别存放在文件和中。文件中存储的数据的结构为:class index public: char word20; streampos offset;其中,数据成员 offset用于记录单词 word 的释义在文件中的位置。用户输入一个单词,屏幕输出该单词的释义。(二) 设计根据上述要求,该程序应分为两部分进行设计,主函数和被调用函数,而被调用函数中又可分为两部分:执行写入命令的write()函数、执行检查命令的check() 函数。精品资料 - - - 欢迎下载 - - - - - - - - - -
3、 - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - 如图: choice 1 choice 2(三)用户手册程序运行时,首先根据提示选择相关操作类型:录入单词或查询单词;若选择录入单词,则根据相关提示输入所要录入的单词及其释义,程序会自动将单词和释义分别保存在和中;若选择查询单词,则根据相关提示输入所要查询的单词:若程序checkwrite精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - -
4、- - - - - 事先保留有该单词的存档,则会出现其释义;若程序事先没有录入该单词的信息,则会出现“所查单词未录入”的提示。运行实例:进一步改进 :目前程序中,不能进行输入释义而对单词的查询, 而在大部分情况下,很多用户都需要英汉汉英双向功能的查询,所以在一定程度上限制了精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - 用户的需求。对于该问题可考虑在main 函数中添加该功能的执行语气和重新定义一个可实现该功能的被调用函数。附录源程序#incl
5、ude #include #include using namespace std;class indexpublic: char word20; int offset;int count=0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - - - - - - - void write();void check();void main() ifstream ifs; string temp; ();while(!()&ifs)ifstemp;ifscount; ();
6、 count+; while(1)int choice;char yorn;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 13 页 - - - - - - - - - - cout 请输入您的需求: 1. 录入单词 2. 查询单词 choice;switch(choice)case 1: write();break;case 2: check();break;default:cout输入错误 endl;cout 是否继续( Y/N)yorn;if(yorn=n| yorn=N) break;
7、 system(pause);void write()精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - char meaning50; char yorn; index w; ofstream ofs; while(1)cout 请输入单词: ;=count;count+;ofstream ofs;(,ostream:app);ofs;ofs ;ofs;ofsn;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
8、 名师归纳 - - - - - - - - - -第 9 页,共 13 页 - - - - - - - - - - ();cout 请输入单词释义,以;隔开meaning;(,ostream:app);ofsmeaning;ofsn;();cout 是否继续录入单词 (Y/N)yorn;if(yorn=n| yorn=N) break; void check() string check;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 13 页 - - - - - - - - - - str
9、ing temp; string meanning; int location=0; ifstream ifs; char yorn; while(1)cout 请输入需要查找的单词 check;();while(1)ifstemp;ifslocation;if(check=temp) break;if()location=-1;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 13 页 - - - - - - - - - - break;();if (location=-1)cout 所查单
10、词未录入 endl;else();for(int i=0;imeanning;();cout 释义:meanningendl;cout 是否继续查询 (Y/N)yorn;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 13 页 - - - - - - - - - - if(yorn=n|yorn=N) break; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 13 页 - - - - - - - - - -