




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+课程设计报告课程设计题目:C+个人约会管理系统 学生 姓名 吴亚亮专 业 软件工程班 级 081103学 号 08110322指导教师 李祥 汪雪元 2009年12月15日目录一、C+语言发展状况3二、课程设计名称.4三、课程设计的意义.4四、课程设计题目与内容.5五、课程设计目的.5六、课程设计的过程(个人约会管理系统).61、个人约会管理系统UML图形表示62、详细设计模块.7 3、源程序清单及其实现说明8 4、功能实现和结果显示.16 5、调试、测试与运行错误处理19七、课程设计总结与收获20八、参考文献21 一、 C+语言发展状况语言的发展是一个逐步递进的过程,C+ 是直接从 C 语言发展过来的,而 C 语言是从B 语言发展过来的,B 语言是 BCPL 的一个解释性后代,BCPL 是 Basic CPL。其中最有趣的是 CPL 中 C 的由来,由于当时这个语言是剑桥大学和伦敦大学合作开发的,在伦敦的人员加入之前,C 表示剑桥,伦敦人员加入之后,C 表示 Combined 组合。还有一种非正式的说法,C 表示 Christopher,因为 Christopher 是 CPL 背后的主要动力。最初导致C+诞生的原因是在Bjarne博士等人试图去分析UNIX的内核的时候,这项工作开始于1979年4月,当时由于没有合适的工具能够有效的分析由于内核分布而造成的网络流量,以及怎样将内核模块化。同年10月,Bjarne博士完成了一个可以运行的预处理程序,称之为Cpre,它为C加上了类似Simula的类机制。在这个过程中,Bjarne博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法很感兴趣,就让Bjarne博士等人组成一个开发小组,专门进行研究。当时C+即是C with class,这是把它当作一种C语言的有效扩充。由于当时C语言在编程界居于老大的地位,要想发展一种新的语言,最强大的竞争对手就是C语言,所以当时有两个问题最受关注:C+要在运行时间、代码紧凑性和数据紧凑性方面能够与C语言相媲美,但是还要尽量避免在语言应用领域的限制。在这种情况下,很自然C+从C语言继承过来,但是我们的Bjarne博士更具有先见之明,他为了避免受到C语言的局限性,参考了很多的语言,例如:从Simula继承了类的概念,从Algol68继承了运算符重载、引用以及在任何地方声明变量的能力,从BCPL获得了/注释,从Ada得到了模板、名字空间,从Ada、Clu和ML取来了异常。二、课程设计名称 2008级面向对象程序设计C+个人约会管理系统三、课程设计的意义面向对象程序(C+)语言设计是一门既要结合理论学习,又要结合动手编程的科目。理论的学习是不断广面的书籍资料的查阅,然而动手编程则在结合理论的基础上对语言代码的编写与实现,再加上各种功能要求和结构思想的联系。再次,在专业科课程设计中,强调科学的学习方法,在进行设计之前,先要明确主题,然后查阅大量的资料,寻找课程设计的主题思想,同时也要不断更新知识总结的广度和思维发展的过程。最后通过,大量的练习编写与更改,发现无数的运行错误,从而进行不断的修改完善,最终综合地将自己课题要求的功能一步一步地实现出来。四、课程设计题目与内容 课程设计题目:C+个人约会管理系统 课程设计内容与要求: i)具有不同约会类的层次结构 ii)具有不同性质朋友的类层次结构 iii)应用类的继承和派生机制来实现 iv)具有约会的保存与查询功能五、课程设计目的 本课程设计旨在实验中训练我们的基本编程能力,了解关于C+(面向对象语言)管理信息系统的开发思想、开发流程及功能实现,熟悉C+的各种各样的基本操作和代码实现。本管理系统程序中涉及了基类定义、基类继承与派生、函数构造与析构、循环函数、I/O流输入/输出函数、指针函数等各方面的C+编程设计理论的知识。通过课程设计大量的实验训练,使我们能对C+的功能实现操作有一个更深刻更进一步的了解,掌握C+语言程序对各类信息管理的原理、思想和具体的实现方式,为将来进一步开发出高质量的多方向的信息管理系统打下坚实的基础。六、课程设计的过程(个人约会管理系统) 1、个人约会管理系统UML图形表示date# no : string# name : char 10# address : char 33# time : char 10+ date ()+date ()+ input () :void+ output () :void+ getno () :stringGenfriendage : intsex : char 5+ Genfriend()+ input (): void+ output () :voidimpfriendProf : char 10interest : char 10+ impfriend()+ input (): void+ output () :voidB_Gfriendhobby : char 6workplace : char 10+ B_Gfriend()+ input (): void+ output () :void 内部结构属性及相互关系说明date 为约会基类,其中包括有四个保护成员no、name、address、time,公有成员包括构造函数、析构函数、input、output、get。由date通过公有派生出三个朋友约会类分别为:Genfriend(普通朋友类) impfriend(重要朋友类) B_Gfriend(女/男朋友类)2、详细设计模块 约会类的定义模块 私有成员定义,包括有:No、name10 、address33 、time10公有成员定义,包括input(输入)、output(输出)、getno() 约会类的继承与派生模块 公有(public)派生出Genfriend(普通朋友约会类) 、impfriend(重要朋友约会类)、 B_Gfriend(女/男朋友约会类)。其中包括有,Genfriend:私有成员intage,char sex5公有成员input,output。Impfriend:私有成员char prof10,char interest10公有成员input,output。B_Gfriend:私有成员char hobby6,char workplace10公有成员input,output。等等。主函数定义与功能模块 三个派生类的对象声明Genfriend、impfriend、 B_Gfriend和部分应用需要的具体控制变量i=0,j=0,k=0,l,m,n,x等。个人约会系统登录界面具体设计部分与登录控制的循环函数。再使用switch()判断语句分别进行对各类约会信息更新、各类约会信息详细查询。各类朋友约会类的具体信息读取与保存模块,分别利用I/O流格式,比如fstream file1(datee1.txt,ios:in); fstream f1(datee1.txt,ios:out);等等 3、源程序清单及其实现说明源程序代码清单:(利用到多文件格式)基类定义及其继承派生#include #include using namespace std;class date /约会类定义protected:string no;char name10;char address33;char time10;public:void input()cout约会编号_no;cout约会人姓名_name;cout约会地址是_address;cout约会时间为_(时间格式如2009-12-25)time;void output()cout约会编号_ noendl;cout约会的人名_nameendl;cout约会的地址是_addressendl; cout约会时间在_timeendl;string getno()return no;class Genfriend:public date /公有派生普通朋友约会类private: int age; char sex5;public: void input() date:input(); coutage; coutsex; void output() date:output(); cout年龄_ ageendl; cout性别_ sexendl; ;class impfriend:public date /公有派生重要朋友约会类private: char prof10; char interest10;public: void input() date:input(); coutprof; coutinterest; void output() date:output(); cout工作类型_ profendl; cout兴趣_ interestendl;class B_Gfriend:public date /公有派生女(男)朋友约会类private:char hobby6;char workplace10;public:void input()date:input();couthobby;coutworkplace;void output()date:output();cout爱好_hobbyendl;cout工作单位_workplaceendl; 主函数及文件读取、保存#include #include #include 约会类定义.h#include #include using namespace std;void main() Genfriend c20,cs; impfriend imp20,imps;B_Gfriend r20,rs;int i=0,j=0,k=0,l,m,n,x;/i,j,k 分别对应三个派生类的人数string num; cout 欢迎使用个人约会管理系统_ endl;cout endlendlendlendl;cout endl; cout endl; cout endl; cout 更 新 endl; cout endl; cout 查 询 endl; cout endl;cout 退 出 endl;cout endl; cout endl;cout endl; cout endl;while(l) if (i=0 & j=0 & k=0 ) cout endl; coutendl; coutendlendl; cout1,退出系统 -0endl; cout(注释: 写入信息,请键入 1 退出系统,请键入 0 )l; else cout 1 查询- 2 退出- 0 l;system(cls); switch(l) case 1: /各类朋友约会类信息更新 cout 1 n 重要朋友信息更新- 2 n 女(男)朋友信息更新- 3 n 返回- 0 m; switch(m) case 1: cout输入一个普通朋友的数据:endl;ci.input();i+;break; case 2: cout输入一个重要朋友的数据:endl;impj.input();j+;break; case 3: cout输入一个女(男)朋友的数据:endl;rk.input();k+;break; case 0:break; default :cout代号输入有误endl; coutendl; break; break; case 2: /各类朋友约会类信息查询 cout 1 n 重要朋友信息查询- 2n 女(男)朋友信息查询- 3n 返回- 0 n;switch(n)case 1: coutnum;for(x=0;xi;x+)if (num=cx.getno()cout显示编号为_num 普通朋友的数据_endl;cx.output();coutendl;elsecoutn_没有这个编号的数据!nendl; break;case 2: coutnum;for(x=0;xj;x+)if (num=impx.getno()cout显示编号为_num 重要朋友的数据_endl;impx.output();coutendl;elsecoutn_没有这个编号的数据!nendl; break;case 3: coutnum;for(x=0;xk;x+)if (num=rx.getno()cout显示编号为_num 朋友的数据_endl;rx.output();coutendl;elsecoutn_没有这个编号的数据!nendl; break; case 0:break; default :cout代号输入有误endl; coutendl; break;break; case 0:break; default :cout代号输入有误endl; coutendl;break; /各类文件信息读取 fstream file1(datee1.txt,ios:in); /普通朋友信息读出 while (1) file1.read(char *)&cs,sizeof(cs); if (!file1) break; ci=cs; i+; file1.close(); fstream file2(datee2.txt,ios:in); /重要朋友信息从读出 while (1) file2.read(char *)&imps,sizeof(imps); if (!file2) break; impj=imps; j+; file2.close(); fstream file3(datee3.txt,ios:in); /女(男)朋友信息从读出 while (1) file3.read(char *)&rs,sizeof(rs); if (!file3) break; rk=rs; k+; file3.close();/各类文件信息的保存 fstream f1(datee1.txt,ios:out); /普通朋友信息保存 for (x=0;xi;x+) f1.write(char *)&cx,sizeof(cx); f1.close(); fstream f2(datee2.txt,ios:out); /重要朋友信息保存 for (x=0;xi;x+) f2.write(char *)&impx,sizeof(impx); f2.close(); fstream f3(datee3.txt,ios:out); /女(男)朋友信息保存 for (x=0;xi;x+) f3.write(char *)&rx,sizeof(rx); f3.close(); /退出管理系统的界面设置cout endlendlendlendlendlendl;cout 谢谢你的使用与支持.endl;cout endl;cout 你已经成功退出个人约会系统endl;4、功能实现和结果显示个人约会管理系统的登录界面约会管理系统普通朋友类数据的输入约会管理系统重要朋友类数据的输入约会管理系统重要朋友类数据的输入重要朋友约会类的信息查询显示女/男朋友约会类的信息查询显示个人约会管理系统的退出界面 5、调试、测试与运行错误处理(1)调试过程 在利用Microsoft Visual C+6.0软件进行个人约会管理系统程序编写过程中,按照各部分的程序与结合老师的理论指导,我依次分多步调试,根据每个模块的函数结构连接进行局部调试,再对未定义完全的问题、错误、非法部分进行大量的修改代码和结构分析。(2) 测试过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合物流铁路专用线建设项目建筑工程方案
- 2025供需合作协议书(标准模板)
- 老年疾病基础试题及答案
- 标准果胶建设项目社会稳定风险评估报告
- 民航基础试题及答案详解
- 城区支线管网改造提升项目施工方案
- 夫妻离婚房产分割与共同财产权益分配协议
- 外贸合同中的环保法规及社会责任条款剖析
- 科技研发项目成果保密及转让合同
- 离婚协议书范本:共同财产分割与债务偿还协议
- GA/T 1312-2016法庭科学添改文件检验技术规程
- 大学物理实验长测量
- 卫生政策学之政策问题根源分析
- 步进电机及其工作原理-电机的工作原理及特性课件
- 基于CAN通讯的储能变流器并机方案及应用分析报告-培训课件
- 腹直肌分离康复(产后康复课件PPT)
- 聚合物成型的理论基础课件
- 药监系统官方培训06细菌内毒素方法介绍-蔡彤
- 慢性中耳炎的并发症课件
- 灭火器每月定期检查及记录(卡)表
- 千米、分米和毫米的认识单元备课
评论
0/150
提交评论