个人约会管理系统课程设计报告.docx
《个人约会管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《个人约会管理系统课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
![个人约会管理系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-1/10/aa1e52ad-ac92-4daf-9e8c-3eff644d1bb7/aa1e52ad-ac92-4daf-9e8c-3eff644d1bb71.gif)
个人约会管理系统课程设计报告
C++课程设计报告
课程设计题目:
C++个人约会管理系统
学生姓名吴亚亮
专业软件工程
班级081103
学号08110322
指导教师李祥汪雪元
2009年12月15日
目录
一、C++语言发展状况………………3
二、课程设计名称………………….4
三、课程设计的意义……………….4
四、课程设计题目与内容………….5
五、课程设计目的………………….5
六、课程设计的过程(个人约会管理系统)……………………………….6
1、个人约会管理系统UML图形表示………………6
2、详细设计模块………………………………….7
3、源程序清单及其实现说明………………………8
4、功能实现和结果显示………………………….16
5、调试、测试与运行错误处理……………………19
七、课程设计总结与收获…………20
八、参考文献………………………21
一、C++语言发展状况
语言的发展是一个逐步递进的过程,C++是直接从C语言发展过来的,而C语言是从B语言发展过来的,B语言是BCPL的一个解释性后代,BCPL是BasicCPL。
其中最有趣的是CPL中C的由来,由于当时这个语言是剑桥大学和伦敦大学合作开发的,在伦敦的人员加入之前,C表示剑桥,伦敦人员加入之后,C表示Combined组合。
还有一种非正式的说法,C表示Christopher,因为Christopher是CPL背后的主要动力。
最初导致C++诞生的原因是在Bjarne博士等人试图去分析UNIX的内核的时候,这项工作开始于1979年4月,当时由于没有合适的工具能够有效的分析由于内核分布而造成的网络流量,以及怎样将内核模块化。
同年10月,Bjarne博士完成了一个可以运行的预处理程序,称之为Cpre,它为C加上了类似Simula的类机制。
在这个过程中,Bjarne博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法很感兴趣,就让Bjarne博士等人组成一个开发小组,专门进行研究。
当时C++即是Cwithclass,这是把它当作一种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():
string
Genfriend
–age:
int
–sex:
char[5]
+Genfriend()
+input():
void
+output():
void
impfriend
–Prof:
char[10]
–interest:
char[10]
+impfriend()
+input():
void
+output():
void
B_Gfriend
–hobby:
char[6]
–workplace:
char[10]
+B_Gfriend()
+input():
void
+output():
void
内部结构属性及相互关系说明
date为约会基类,其中包括有四个保护成员no、name、address、time,公有成员包括构造函数、析构函数、input、output、get。
由date通过公有派生出三个朋友约会类分别为:
Genfriend(普通朋友类)impfriend(重要朋友类)B_Gfriend(女/男朋友类)……
2、详细设计模块
<1>约会类的定义模块
私有成员定义,包括有:
No、name[10]、address[33]、time[10]……公有成员定义,包括input(输入)、output(输出)、getno()……
<2>约会类的继承与派生模块
公有(public)派生出Genfriend(普通朋友约会类)、impfriend(重要朋友约会类)、B_Gfriend(女/男朋友约会类)。
其中包括有,Genfriend:
私有成员int age,charsex[5] 公有成员 input,output。
Impfriend:
私有成员 charprof[10],charinterest[10] 公有成员 input,output。
B_Gfriend:
私有成员 charhobby[6],charworkplace[10] 公有成员 input,output。
等等。
<3>主函数定义与功能模块
三个派生类的对象声明Genfriend、impfriend、B_Gfriend和部分应用需要的具体控制变量i=0,j=0,k=0,l,m,n,x等。
个人约会系统登录界面具体设计部分与登录控制的循环函数。
再使用switch()判断语句分别进行对各类约会信息更新、各类约会信息详细查询……。
各类朋友约会类的具体信息读取与保存模块,分别利用I/O流格式,比如fstreamfile1("datee1.txt",ios:
:
in);fstreamf1("datee1.txt",ios:
:
out);等等
3、源程序清单及其实现说明
源程序代码清单:
(利用到多文件格式)
基类定义及其继承派生
#include
#include
usingnamespacestd;
classdate//约会类定义
{
protected:
stringno;
charname[10];
charaddress[33];
chartime[10];
public:
voidinput()
{
cout<<"约会编号__"<cin>>no;
cout<<"约会人姓名__"<cin>>name;
cout<<"约会地址是__"<cin>>address;
cout<<"约会时间为__(时间格式如2009-12-25)"<cin>>time;
}
voidoutput()
{
cout<<"约会编号__"<cout<<"约会的人名__"<cout<<"约会的地址是__"<
cout<<"约会时间在__"<