应用软件综合设计-多用途数据对象类的设计.doc_第1页
应用软件综合设计-多用途数据对象类的设计.doc_第2页
应用软件综合设计-多用途数据对象类的设计.doc_第3页
应用软件综合设计-多用途数据对象类的设计.doc_第4页
应用软件综合设计-多用途数据对象类的设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉工程大学 计算机科学与工程学院 综合设计报告 设计名称:设计名称: 应用软件综合设计应用软件综合设计 设计题目:设计题目: 多用途数据对象类的设计多用途数据对象类的设计 学生学号:学生学号: 专业班级:专业班级: 学生姓名:学生姓名: 学生成绩:学生成绩: 指导教师(职称):指导教师(职称): 课题工作时间:课题工作时间: 2009 年年 9 月月 14 日日 至至 2009 年年 9 月月 25 日日 说明: 1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每 个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设 计完成情况、报告的质量及答辩情况,给出客观、全面的评价。 4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一 律按不及格处理。答辩小组成员应由 2 人及以上教师组成。 5、报告正文字数一般应不少于 5000 字,也可由指导教师根据本门综合设 计的情况另行规定。 6、平时表现成绩低于 6 分的学生,其综合设计成绩按不及格处理。 7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适 用于学院各类综合设计) ,各教研室可根据本门综合设计的特点及内容 做适当的调整,并上报学院批准。 成绩评定表 学生姓名: 学号: 班级: 类别 合计 分值 各项 分值 评分标准 实际 得分 合计 得分 备注 平时 表现 1010 按时参加综合设计,无旷课、迟 到、早退、违反实验室纪律等情 况。 20 按设计任务书的要求完成了全部 任务,能完整演示其设计内容, 符合要求。 完成 情况 30 10 能对其设计内容进行详细、完整 的介绍,并能就指导教师提出的 问题进行正确的回答。 10 报告文字通顺,内容翔实,论述 充分、完整,立论正确,结构严 谨合理;报告字数符合相关要求, 工整规范,整齐划一。 5 课题背景介绍清楚,综述分析充 分。 5 设计方案合理、可行,论证严谨, 逻辑性强,具有说服力。 5 符号统一;图表完备、符合规范 要求。 5 能对整个设计过程进行全面的总 结,得出有价值的结论或结果。 报告 质量 35 5 参考文献数量在 3 篇以上,格式 符合要求,在正文中正确引用。 10 在规定时间内能就所设计的内容 进行阐述,言简意明,重点突出, 论点正确,条理清晰。 答辩 情况 25 15 在规定时间内能准确、完整、流 利地回答教师所提出的问题。 总评成绩: 分 补充说明: 指导教师: 刘军 (签 字) 日 期: 2008 年 1 月 19 日 答辩记录表 学生姓名: 学号: 班级: 答辩地点: 答辩内容记录: 合计 分值 各项 分值 评分标准 实际 得分 合计 得分 备注 答 辩 成 绩 2510 在规定时间内能就所设计的内容 进行阐述,言简意明,重点突出, 论点正确,条理清晰。 15 在规定时间内能准确、完整、流 利地回答教师所提出的问题。 答辩小组成员(签字): 2009 年 9 月 25 日 指导教师评语 指导教师: (签字) 日 期: 年 月 日 一、综合设计目的、条件、任务和内容要求: 课题目的: 为了巩固、加深面向对象程序设计的理解,并在此基础上能够从实际问题出发设计编制一个 中小型应用系统;能够熟练运用面向对象思想来解决一些实际问题。同时也为了检验学生对面向 对象程序设计这门课的掌握程度,按照面向对象程序设计原理完成了此次课程设计。 课题条件: 已掌握向对象程序设计的基本方法、一台装有 windows95,windows nt 4.0 或更高的操作系统 和某种高级语言开发环境(例如 vc+)的 pc 机。 课题任务: 利用某种高级语言(例如 vc+)设计开发一个多用途数据对象类的设计,以加深对面向对象 和模板原理的理解,掌握基于模板的程序设计的实现方法和技术。 课题内容要求: (1)该项目主要功能有: 1.建立一个存放数据对象的表的类 datatable,数据对象的属性字段的类型可以是 int,string,float,double 和 char 这五种类型,其中数据对象的各个属性字段的定义存放于类 datatable 的私有数据成员 ve 中;数据对象的记录存放于私有数据成员 lis 中. 2.成员函数 insertfield()可实现增加数据对象的属性字段,包括字段名和字段类型; 3.成员函数 insertrecoed()可实现增加数据对象的记录. 4.成员函数 readfieldrecord();可由文件 data.txt 中读取记录,保存在 ve,和 lis 中. 5.成员函数 outtofile()可将 ve 和 lis 中的相关记录保存到输出文件中,文件名由用户指定, 但是,用户提供文件名时一定要连文件扩展名一起提供. 6.成员函数 outallrecord();将数据对象的各属性和记录值一起输出到控制台. 7.成员函数 removefield();会提示用户输入你想删除的字段名,就可以删除该字段名,字段类 型,以及各个记录中该字段的值. 8.成员函数 searchrecord();可以查找记录,会提示用户输入查找条件,注意输入条件的格式, 比如想查找字段 name 值为 5 的记录,就要写 name = 5 作为查找条件,在 name 与=之间要有空格 间隔,=与 5 之间也要有空格间隔;=可换成!=表示查找某字段不等于某值;或换成,表示要查找某 字段的值大于某值;也可换成,表示要查找某字段的值大于某值;也可换成 txt.file object data 针对指针的重载版本, 并将 anyval 的地址传递过去,也就是转到 1 处,因为调用的是 any_cast,所以 1 处的 代码被编译器特化为 但是前面说过,operand-content 实际指向的是 any:holder,所以这个 static_cast lis; vector vli; public:datatable() datatable() if(!ve.empty() ve.clear(); if (!vli.empty() vli.clear(); if(!lis.empty() lis.clear(); int readfieldrecord(); void outtofile(); void insertfield(); void insertrecoed(); void outallrecord(); void removefield(); 武汉工程大学计算机科学与工程学院 综合设计报告 - 17 - void removerecord(); int searchrecord(); void modifyrecord(); void modifyfield(); ; void defaultany(string string s=“ “; double d=0.0; float f=0.0; char c= ; if(type=“int“) aa=i; else if(type=“float“)aa=f; else if(type=“double“) aa=d; else if(type=“char“)aa=c; else if(type=“string“)aa=s; else couti; a=i; else if(type=“float“)cinf; a=f; else if(type=“double“) cind; a=d; else if(type=“char“)cinc;a=c; else if(type=“string“)cins;a=s; else couti; a=i; else if(type=“float“)stf; a=f; else if(type=“double“) std; a=d; else if(type=“char“)stc;a=c; else if(type=“string“)sts;a=s; else cout:iterator vi; vectorva; vector:iterator vai; list :iterator listi; ifstream infile; int flag=0; infile.open(“data.txt“); infile.clear(); if(!infile) cout(val); else if (val.type() = typeid(string) cout(val); else if (val.type() = typeid(double) cout(val); else if (val.type() = typeid(float) cout(val); else if (val.type() = typeid(char) cout(val); cout(va)=any_cast(aa) ); else if(compare=“!=“) return(any_cast(va)!=any_cast(aa); else if(compare=“) return(any_cast(va)any_cast(aa); 武汉工程大学计算机科学与工程学院 综合设计报告 - 20 - else if(compare=“(va)(aa); else cout(va)=any_cast(aa); else if(compare=“!=“) return(any_cast(va)!=any_cast(aa); else if(compare=“) return(any_cast(va)any_cast(aa); else if(compare=“(va)(aa); else cout(va)=any_cast(aa); else if(compare=“!=“) return(any_cast(va)!=any_cast(aa); else if(compare=“) return(any_cast(va)any_cast(aa); else if(compare=“(va)(aa); else cout(va)=any_cast(aa); else if(compare=“!=“) return(any_cast(va)!=any_cast(aa); else if(compare=“) return(any_cast(va)any_cast(aa); else if(compare=“(va)(aa); else cout(va)=any_cast(aa); else if(compare=“!=“) return(any_cast(va)!=any_cast(aa); else if(compare=“) return(any_cast(va)any_cast(aa); 武汉工程大学计算机科学与工程学院 综合设计报告 - 21 - else if(compare=“(va)(aa); else cout :iterator listi; do coutnametype; field pp(name,type); ve.push_back(pp); if(lis.empty()=0) for (listi=lis.begin();listi!=lis.end();listi+) defaultany(type,aa); (*listi).push_back(aa); cout“judge; while(judge=“y“|judge=“y“); coutva; vector:iterator vi; string judge; cout“judge; while(judge=“y“|judge=“y“); cout:iterator vi; vector:iterator vai; list :iterator listi; cout:iterator vi; vector:iterator vai; list :iterator listi; couts; for (vi=ve.begin();vi!=ve.end();vi+) if (*vi).mname=s) break; if(vi=ve.end() cout:iterator vi; vector:iterator vai; list :iterator listi; vector:iterator vliit; int hang; int flag=0; string judge; int i=0; string type; do cout,namecondition; for(vi=ve.begin();vi!=ve.end();vi+) if(*vi).mname=name) cinany(*vi).mtype,aa); break; if(vi=ve.end() cout0) 武汉工程大学计算机科学与工程学院 综合设计报告 - 24 - for (vliit=vli.begin(),listi=lis.begin();vliit!=vli.end();vliit+,listi=lis.beg in() for(int j=0;jjudge; flag+; while(judge=“y“|judge=“y“); if(vli.empty()=1) cout :iterator vliit; list :iterator listi; 武汉工程大学计算机科学与工程学院 综合设计报告 - 25 - cout0) cout :iterator vliit; list :iterator listi; string name; any aa; int i; vector :iterator vi; vector:iterator vai; coutname; for (vi=ve.begin();vi!=ve.end();vi+) if(*vi).mname=name) cinany(*vi).mtype,aa); break; if(vi=ve.end() coutfilename; 武汉工程大学计算机科学与工程学院 综合设计报告 - 26 - outfile.open(filename.c_str(); outfile.clear(); vector:iterator vi; vector:iterator vai; list :iterator listi; int i;string s;double d;float f;char c; for (vi=ve.begin();vi!=ve.end();vi+) outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile(*vai);outfile :iterator vi; vector:iterator vai; list :iterator listi; coutselect; switch(select) case 1: coutoldnamenewname; for (vi=ve.begin();vi!=ve.end();vi+) if(*vi).mname=oldname) (*vi).mname=newname; break; if(vi=ve.end() coutoldnametype; for (vi=ve.begin();vi!=ve.end();vi+) if(*vi).mname=oldname) (*vi).mtype=type; break; if(vi=ve.end() coutold

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论