客户信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南第一师范学院信息科学与工程学院课程设计报告
所属专业:计算机科学与技术
课程名称:C++课程设计
课程设计名称:客户信息管理系统
学号:_________***********________
*名:***
指导教师:杨恒伏伍智平
2015年12 月
湖南第一师范学院课程设计任务书
2015 -2016 学年第1学期
院(部)信息科学与工程学院专业计算机科学与技术班级14计科1班课程名称:C++课程设计
设计题目:客户信息管理系统
完成期限:自2015 年12 月28 日至2016 年1 月8 日共 2 周
指导教师(签字):年月日
教研室主任(签字):年月日
目录
1. 客户信息系统概述 (4)
1.1 基本要求 (4)
1.2 主要功能 (4)
1.3 设计方法 (5)
1.4 系统开发的目的 (5)
2. 总体设计 (5)
2.1 系统功能模块 (5)
2.2 系统总体框架 (6)
2.3 类的分类表 (7)
2.4 系统关键算法流程图 (8)
3. 系统运行报告 (13)
4. 系统评价 (13)
4.1 系统的特点 (15)
4.2 系统的缺点 (15)
4.3 将来可能提出的要求 (15)
5. 系统调试出现的问题 (15)
6. 总结 (16)
7.致谢 (16)
8. 参考文献 (16)
9. 源程序 (17)
客户信息管理系统设计报告
1. 客户管理系统概述
该系统主要处理客户的相关信息。
客户信息主要包括:客户编号、客户名称、所在地区、联系方式等内容。
地区信息主要包括:编号、名称等内容。
完成以下的操作:客户信息、地区信息的录入、修改、删除和查询。
1.1 基本要求
程序运行结果正确,操作方便,界面美观,逻辑层次清楚,程序结构合理,文档规范清晰。
1.2 主要功能
要求:
1)添加功能:能够对客户和地区信息进行添加。
2)显示功能:能够对客户和地区信息进行输出,如未找到,显示出相应的提示信息,如找到,则显示相应信息。
3)删除功能:能够对客户和地区信息进行删除,如未找到,显示出相应的提示信息。
4)查找功能:能够按编号对客户和地区信息进行查找,如未找到,显示出相应的提示信息。
5)修改功能:能够按编号对客户和地区信息进行修改,如未找到,显示出
相应的提示信息。
6)保存功能:能够把客户和地区信息保存为文件。
7)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户使用。
1.3 设计方法
1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
2)分析系统中的各个实体与他们之间的关系;
3)根据问题描述,设计系统的类层次;
4)完成类层次中各个类的描述;
5)完成类中各个成员函数的定义;
6)完成系统的应用模块;
7)功能调试。
1.4 系统开发的目的
1. 熟练掌握C++语言的基本知识和技能;
2. 基本掌握面向对象程序设计的基本思路和方法;
3. 利用所学的基本知识和技能,解决简单的面向对象程序设计问题;
4. 设计一个含有最基本功能的客户信息管理系统。
2. 总体设计
2.1 系统功能模块
根据问题描述和要求,系统要求能够按编号显示、查找、增加、删除和保存客户、地区的信息,确定程序至少应该具备如下功能:“录入客户和地区信息、”“查询客户和地区信息”、“增加客户和地区信息”、“删除客户和地区信息”、“修改客户和地区信息”、“输出客户和地区信息”、“数据存盘”基本模块。
系统既然具有“数据存盘”功能——客户数据可以保存到磁盘文件,那么也就意味着可以从磁盘文件读出客户数据,所以系统增加了“客户数据装入”模块,以方便用户使用、避免数据重复录入,并定义客户数据文件名:Xinxi.dat。
考虑到根据编号查找人员信息功能在“删除客户和地区”、“修改客户和地区”“输出客户和地区信息”、等模块都使用,所以可以考虑设置为一个模块。
如下图:
2.2 系统总体框架
使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,客户、地区。所以系统涉及四个大类:信息类Xinxi(基类)、客户类customer (继承类)、地区类area(继承类)、管理类(友元类)。系统的总体框架就是管理类的定义,主函数中定义一个管理对象,循环显示主菜单并根据用户选择调用管理类的成员函数。
(1)信息类Xinxi:考虑系统操作的客户信息的数量具有不确定性,所以考虑使用链表保存、处理客户信息。因为客户和地区信息都包括了地区编码和地区名称,所以信息类包含私有数据成员:编号No1、名称Name1、指针域next以及类别Duty,Duty用来区分是客户信息还是地区信息,并且考虑到客户和地区信息的输入输出,信息类需要定义公共成员函数以便供客户类和地区类继承使用。
(2)地区类area:地区类是信息类的公共继承类,继承了信息类的数据成员和成员函数,所以地区类不需要再定义其他数据成员和成员函数。
(3)客户类customer:客户类是信息类的继承类,客户类包括的信息除了地区编码和地区名称还包括客户本身的编码,名称及联系方式,所以客户类里需要另外定义数据成员客户编码No2、客户名称Name1、联系方式num.
(4)管理类manger:管理类是信息类的友元类,以便访问信息类的私有数据成员和成员函数,在管理类中分别定义添加信息,删除信息,输出信息,查找信息,保存信息,修改信息等函数。