《个人约会管理系统课程设计报告》由会员分享,可在线阅读,更多相关《个人约会管理系统课程设计报告(21页珍藏版)》请在金锄头文库上搜索。
1、C+课程设计报告课程设计题目:C+个人约会管理系统 - 2 -目录一、C+语言发展状况3二、课程设计名称.4三、课程设计的意义.4四、课程设计题目与内容.5五、课程设计目的.5六、课程设计的过程(个人约会管理系统).61、个人约会管理系统 UML 图形表示62、详细设计模块.73、源程序清单及其实现说明84、功能实现和结果显示.165、调试、测试与运行错误处- 3 -理19七、课程设计总结与收获20八、参考文献21一、 C+语言发展状况语言的发展是一个逐步递进的过程,C+ 是直接从 C 语言发展过来的,而 C 语言是从 B 语言发展过来的,B 语言是 BCPL 的一个解释性后代,BCPL 是
2、Basic CPL。其中最有趣的是 CPL 中 C 的由来,由于当时这个语言是剑桥大学和伦敦大学合作开发的,在伦敦的人员加入之前,C 表示剑桥,伦敦人员加入之后,C 表示 Combined 组合。还有一种非正式的说法, C 表示 Christopher,因为 Christopher 是 CPL 背后的主要动力。最初导致 C+诞生的原因是在 Bjarne 博士等人试图去分析UNIX 的内核的时候,这项工作开始于 1979 年 4 月,当时由于没有合适的工具能够有效的分析由于内核分布而造成的网络流量,以及怎样将内核模块化。同年 10 月,Bjarne 博士完成了一个可以运行的预处理程序,称之为 C
3、pre,它为 C 加上了类似 Simula 的类机制。在这个过程中,Bjarne 博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法很感兴趣,就让 Bjarne 博士等人组成一个开发小组,专门进行研究。当时 C+即是 C with class,这是把它当作一种 C 语言的有效- 4 -扩充。由于当时 C 语言在编程界居于老大的地位,要想发展一种新的语言,最强大的竞争对手就是 C 语言,所以当时有两个问题最受关注:C+要在运行时间、代码紧凑性和数据紧凑性方面能够与 C 语言相媲美,但是还要尽量避免在语言应用领域的限制。在这种情况下,很自然 C+从 C 语言继承过来,但是我们的 Bja
4、rne 博士更具有先见之明,他为了避免受到 C 语言的局限性,参考了很多的语言,例如:从 Simula 继承了类的概念,从 Algol68 继承了运算符重载、引用以及在任何地方声明变量的能力,从 BCPL 获得了/注释,从Ada 得到了模板、名字空间,从 Ada、Clu 和 ML 取来了异常。二、课程设计名称2008 级面向对象程序设计C+个人约会管理系统三、课程设计的意义面向对象程序(C+)语言设计是一门既要结合理论学习,又要结合动手编程的科目。理论的学习是不断广面的书籍资料的查阅,然而动手编程则在结合理论的基础上对语言代码的编写与实现,再加上各种功能要求和结构思想的联系。再次,在专业科课程
5、设计中,强调科学的学习方法,在进行设计之前,先要- 5 -明确主题,然后查阅大量的资料,寻找课程设计的主题思想,同时也要不断更新知识总结的广度和思维发展的过程。最后通过,大量的练习编写与更改,发现无数的运行错误,从而进行不断的修改完善,最终综合地将自己课题要求的功能一步一步地实现出来。四、课程设计题目与内容课程设计题目:C+个人约会管理系统课程设计内容与要求:i)具有不同约会类的层次结构ii)具有不同性质朋友的类层次结构iii)应用类的继承和派生机制来实现iv)具有约会的保存与查询功能五、课程设计目的本课程设计旨在实验中训练我们的基本编程能力,了解关于C+(面向对象语言)管理信息系统的开发思想
6、、开发流程及功能实现,熟悉 C+的各种各样的基本操作和代码实现。本管理系统程序中涉及了基类定义、基类继承与派生、函数构造与析构、循环函数、I/O 流输入/输出函数、指针函数等各方面的 C+编程设计理论的知识。通过课程设计大量的实验训练,使我们能对 C+的功能实现操- 6 -作有一个更深刻更进一步的了解,掌握 C+语言程序对各类信息管理的原理、思想和具体的实现方式,为将来进一步开发出高质量的多方向的信息管理系统打下坚实的基础。六、课程设计的过程(个人约会管理系统)1、个人约会管理系统 UML 图形表示date# no : string# name : char 10# address : cha
7、r 33# time : char 10+ date ()+date ()+ input () :void+ output () :void+ getno () :stringGenfriendage : intsex : char 5- 7 -内部结构属性及相互关系说明date 为约会基类,其中包括有四个保护成员no、name、address、time,公有成员包括构造函数、析构函数、input、output、get。由 date 通过公有派生出三个朋友约会类分别为:Genfriend(普通朋友类) impfriend(重要朋友类) B_Gfriend(女/男朋友类)2、详细设计模块约会类的
8、定义模块私有成员定义,包括有: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
9、hobby6,char workplace10公有成员+ 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- 8 -input,output。等等。主函数定义与功能模块三个派生类的对象声明 Genfriend、
10、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 namespac
11、e std;class date /约会类定义protected:string no;char name10;char address33;char time10;public:void input()coutno;coutname;- 9 -coutaddress;couttime;void output()coutage;coutsex;void output()date:output();coutprof;coutinterest;void output()date:output();couthobby;coutworkplace;void output()date:output();c
12、out主函数及文件读取、保存#include #include - 11 -#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 更 新查 询退 出1,退出系统 -0l; elsecout 1 查询- 2 退出- 0 l;system(cls);switch(l)case 1: /各类朋友约
13、会类信息更新cout 1 n 重要朋友信息更新- 2 n 女(男)朋友信息更新- 3 n 返回- 0 m;switch(m)case 1:cout 1 n 重要朋友信息查询- 2n 女(男)朋友信息查询- 3n 返回- 0 n;switch(n)case 1:coutnum;for(x=0;xnum;for(x=0;xnum;for(x=0;x你已经成功退出个人约会系统个人约会管理系统的登录界面- 17 -约会管理系统普通朋友类数据的输入约会管理系统重要朋友类数据的输入约会管理系统重要朋友类数据的输入- 18 -重要朋友约会类的信息查询显示女/男朋友约会类的信息查询显示- 19 -个人约会管理
14、系统的退出界面- 20 -5、调试、测试与运行错误处理(1)调试过程在利用 Microsoft Visual C+6.0 软件进行个人约会管理系统程序编写过程中,按照各部分的程序与结合老师的理论指导,我依次分多步调试,根据每个模块的函数结构连接进行局部调试,再对未定义完全的问题、错误、非法部分进行大量的修改代码和结构分析。(2) 测试过程管理系统程序测试中,主要会发现一些函数运用错误、基类和派生类定义的不完整、循环功能函数变量使用不当与函数功能不对口等问题。测试后,再详细查看代码、理解系统要求的功能,不断寻找错误之处和完善功能结构,再通过查阅大量的有关书籍资料,寻找更好的功能函数,再对代码进行
15、改进。如此多次反复调试、测试与改进。七、课程设计总结与收获我在设计这个个人约会管理系统程序时采用了模块多文件的设计方法,使用循环函数控制呈现操作界面,使用不同的函数来实现各项目的需求功能。花了大约一周的时间,其中大部分时间用于构思程序功能、输入程序、调试和写实验报告。遇到的主要困难是:开始时由于构思不完善,导致程序很乱,搞清楚具体类定义、继承派生、各种类的实现和文件操作函数结构等函数关系后,程序代码- 21 -编写就变得简洁明朗了。通过这次课程设计,更大地增加了我学习软件技术的兴趣,虽然还不明确软件技术包含更深的具体内容,但从C+语言程序设计这门课程的学习与实践中,再次更好的发现程序设计的乐趣,在学习 C+编程的过程中也学到了许多计算机应用基础知识,对计算机的软件应用也有了更大的了解