电话号码管理系统.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程名称C++面向对象程序设计题目名称电话号码管理系统专业班级

学生姓名

学号

指导教师

二○一四年十二月十五日

目录

一、引言 (1)

二、课程设计报告 (2)

1、问题描述 (2)

2、系统总体方案 (2)

3、设计思路和主要步骤 (2)

4、各功能模块和流程图 (3)

(1)各功能模块 (3)

(2)流程图 (3)

三、系统测试 (5)

四、心得体会 (8)

五、参考文献 (10)

附:程序设计代码 (11)

一、引言

随着社会的发展,科学技术的进步,以及人际关系的交往日益密切,普通的采集联系人电话等信息已经不能够满足人们的需求,特别对于机场出差的人更是难以满足。手工记录繁琐,容易出错,不方便查找,受个人情绪的影响,同时不方便传播,越来越多的靠计算机来帮助人们记住这些事情,极其简便这就需要有一个专门管理客户信息的电话管理系统能代替人们来管理客户电话等信息,用户可以方便的通过自己电脑的电话簿管理系统,来随时查阅自己所需要的信息,而不必大费周章去翻自己的记事本。

与此同时,21世纪是科技高度发展的世纪,计算机以及信统来代替落后的手工记录等来适应新时代的发展。电话管理信息系统,可以满足人们的需求,人们可以通过它方便的记录客户电话信息,同时能很方便的查找修改等。

二、课程设计报告

1、问题描述

电话号码管理软件管理联系人的电话号码,支持添加、删除、修改、查询功能。(1)整体查询:显示所有联系人(2)个别查询,例如:输入“张”,则所有匹配的姓名中含“张”的均显示。

2、系统总体方案

用Node进行结构体类型定义,包括:姓名、电话号码和联系地址

3、设计思路和主要步骤

根据需求分析,首先我们需要建立Person基类,由此派生出了经理类(Manager),销售经理类(SalesManager),销售员类(Sales),技术人员类(Technician),在Person类中,需要将人员编号,姓名,岗位,收入,以及next 指针等数据设置权限为protected;由于其他类需要访问基类数据及相应成员函数,所以我们必须设置为public。在各个派生类中,因为都需要使用了CalcSalary(),OutPut()函数,为了不出现二义性的问题,我们需要在基类中将这两个函数声明为纯虚函数,通过进一步分析,由于基类中的构造函数不能被继承,而且在派生类中又需要增加自己的数据成员,所以我们必须定义派生类的构造函数来完成相应的初始化。然后建立Company类,在public访问权限中,我们通过链表来操作人员数据,同时增加不同功能的成员函数如:void Add(); //增加人员 void Delete(); //删除人员void Modify(); //修改人员void Query(); //查询人员void Set(); //基础数据设置void Save(); //数据存盘void Load(); //数据装入———为了实现多文件的效果,我们将Company类定义及该类的实现分开,然后逐一对各功能函数进行代码编写。最后,我们定义了主函数,通过公司类创建了一个对象,并通过此对象完成相应的操作。在调试并测试代码过程中,当程序员输入相应的指令后,该系统自动调用相应的功能函数来达到需求效果,至此,一个公司人员管理系统的实现才算基本成功。

4、各功能模块和流程图

(1)各功能模块

1.Person 类的No-人员编号,Name-人员姓名,Duty-人员类别,Earning-工资,next-指向下一个人员的指针;Person类的CalcSalary(),Output()定义为纯虚函数分别表示要计算人员工资和输出人员信息,由于定义纯虚函数,所以Person是抽象类,具体计算工资,输出人员信息由派生类完成。

2.各个派生的类,包含本类对象特有的数据,Sales::Amount-销售员销售额,SalesManager::Amount-销售经理的总销售额(系统统计各个销售员销售额得到销售经理的总销售额),Technician::t-技术人员工作小时数。

其中:

Worker就是人员链表。

Clear()用于清除人员链表所有结点。

Add(),Delete(),Modify(),Query(),Set(),Save(),Load()分别表示系统各个功能模块:增加人员,删除人员,修改人员,查询本月经营信息,基础数据设置,数据存盘,数据装入。

(2)电话号码管理系统流程图

(3)可以新建和保存联系人,还可以显示所有记录和精确查询和删除记录。

三、系统测试

列出各功能具体的输入数据及对应的输出结果,说明其是否符合设计要求:

为链表增加记录

显示所有记录

按名字查找朋友的信息

帮助

四、心得体会

通过此次课程设计,使我们更加扎实的掌握了有关C++程序设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我们在这方面的知识欠缺和经验不足。实践出真知,通过大家的亲自动手制作,使我们掌握的知识不再是纸上谈兵。

过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后通过查阅相关书籍以及在大家的积极讨论下,终于迎刃而解。在今后社会的发展和学习实践过程中,我们一定会不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

课程设计诚然是一门专业课,给我们很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我们莫大的空间。同时,设计让我们感触很深。使我们对抽象的理论有了具体的认识。通过这次课程设计,我们基本掌握了C++课程设计的原理。

我认为,在这学期的实验中,不仅培养了团结合作、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

回顾起此次课程设计,至今仍让我们感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高我们的实际动手能力和团结互助的能力。在设计的过程中遇到问题,可

相关文档
最新文档