没有合适的资源?快使用搜索试试~ 我知道了~
C++程序设计课程设计报告-通信录系统
需积分: 0 0 下载量 59 浏览量
2024-05-07
09:26:08
上传
评论
收藏 1.45MB DOCX 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/89274893/0001-523bf79ba698c071c9bd32d1f5527698_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
22页
内容概要: 这个资源是一个C++通信录系统的设计与实现示例,包括输入人员信息、查询、排序、删除修改等功能,并实现了数据持久化到文件的功能。 适用人群: 适合C/C++编程初学者或者想要提升自己的C++编程能力的学生和开发者。特别适合那些对文件操作、数据结构和算法有一定了解的人群。 使用场景及目标: 该资源可作为学习和参考材料,帮助学生理解C++程序设计的基本原理和实践方法。学生可以通过阅读该资源的源代码和文档,了解通信录系统的设计与实现过程,提升自己的编程能力,并将所学知识应用到实际项目中去。 其他说明: 资源中提供了详细的文档说明,包括每个功能模块的实现原理和代码注释,方便学生理解和参考。建议学生在阅读源代码的同时,尝试自己动手实现一遍,并进行必要的修改和优化,以加深对C++编程的理解和掌握。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/release/download_crawler_static/89274893/bg1.jpg)
C++程序设计课程设计
实验报告
2020/2021(2)
实验题目 通信录系统
学生姓名 XXX
学生学号 XXXX
学生班级 XXXX
任课教师 XXX
提交日期 2021.6.30
计算机学院
![](https://csdnimg.cn/release/download_crawler_static/89274893/bg2.jpg)
XXX 大学计算机学院 C++程序设计课程设计实验报告
第 1 页 共 21 页
通信录系统 实验报告
一、 大型实验的内容
通信录系统(ABS:Address book system)用于的管理,要求完成通信录中人员信息的
管理。主要的功能包括输入人员信息、查询人员信息(包括根据姓名和电话的精确查询、根
据地址的模糊查询以及根据人员类别的查询)、按不同信息内容对人员信息排序、删除修改
人员信息。同时通信录系统要求所有的增加、修改、删除操作能够同步到文件,程序也能够
从文件读取数据。要求使用学习过的 C/C++程序设计的知识完成通信录系统的设计与实现。
二、 运行环境
通信录系统(ABS)在 Dev-C++平台下开发,操作系统:Windows 10。
硬件环境:
处理器:AMD Ryzen 7 4800U with Radeon Graphics 1.80 GHz
内存:16GB DDR4
系统类型:64 位操作系统, 基于 x64 的处理器
三、 实验课题分析
3.1 通信录系统的主要功能
通信录系统(ABS)主要功能为:输入人员信息、查询人员信息(包括根据姓名和电
话的精确查询、根据地址的模糊查询以及根据人员类别的查询)、按不同信息内容对人员信
息排序、删除修改人员信息。同时通信录系统要求所有的增加、修改、删除操作能够同步到
文件,程序也能够从文件读取数据。详细的系统功能结构为图 1 所示。
图 1 系统结构图
系统各模块的功能具体描述为:
1、 人员信息输入模块
选择该界面会要求用户输入新的通信录成员的姓名、性别、电话、地址、邮政编码、邮
通信录系统
(ABS)
人员信息输
入模块
人员信息查
询模块
人员信息排
序模块
人员信息修
改模块
人员信息删
除模块
![](https://csdnimg.cn/release/download_crawler_static/89274893/bg3.jpg)
XXX 大学计算机学院 C++程序设计课程设计实验报告
第 2 页 共 21 页
箱、QQ 号、类别信息。输入每个信息时,系统会对信息格式进行判断。
规范格式如下:
性别必须为字符串“男”或“女”。如果不符合,系统将提示“格式错误,性别必
须为男或女,请重新输入性别”。
电话必须为 11 位整数,比如“13423451234”。如果不符合,系统将提示“格式错
误,电话号码长度必须为 11 位,请重新输入电话”。
邮政编码必须为 6 位整数,如“321000”。如果不符合,系统将提示“格式错误,
邮政编码长度必须为 6 位,请重新输入邮政编码”。
邮箱必须包括“@”,如“234532342@qq.com”。如果不符合,系统将提示“格式
错误,邮箱必须包括‘@’,请重新输入邮箱”。
QQ 账号必须在 10000 到 9999999999 之间,如“32132134”。如果不符合,系统将
提示“格式错误,QQ 账号必须在 10000 到 9999999999 之间,请重新输入 QQ 账
号”。
如果输入错误,系统会不停地提示错误,直到用户输入信息格式正确。如果输入正确,
系统将提示“输入成功,XX 为:……”。所有信息无误,提示“增加完成!操作成功!”。
新输入的人员信息会同步到指定文件。
2、人员信息查询模块
根据姓名、电话精确查询人员信息:进入后提示“请输入姓名、电话以便精确查
询”:此时用户需要输入姓名和电话。系统会判断电话号码的格式是否正确。格式错误,系
统会提示“格式错误,电话号码必须为 11 位整数!请重新输入电话号码”。如果有姓名和电
话完全一致的通信录人员,则显示其完整信息。如果没有,则显示“没有对应输入信息的联
系人,查询失败;您可选择(3)人员类别查询人员信息”。
根据地址模糊查询用户信息:与前者不同的是,这里的按地址查询支持模糊查询,
即只要输入地址的一部分能够在用户信息中找到,或者用户地址中的一部分是该输入地址,
系统就会显示包含上述输入内容的所有通信录人员的信息。不过,默认输入地址至少包括 2
个汉字。比如输入“杭州”时,系统会输出地址为“杭州”及“杭州市西湖区留下街道”的
用户的完整信息。
根据人员类别查询人员信息:进入后提示“输入要查询的联系人的类别(同学、朋
友等)”。接下来会显示该类别的所有通信录人员的信息。查询不到,则输出“没有对应输入
信息的联系人,查询失败;您可选择(3)人员类别查询人员信息”。
3、 人员信息排序模块
该部分中,总共有“按姓名升序排序”“按姓名降序排序”“按性别升序排序”“按性别
降序排序”“按电话升序排序”“按电话降序排序”“按地址升序排序”“按地址降序排序”
“按邮政编码升序排序”“按邮政编码降序排序”“按邮箱升序排序”“按邮箱降序排序”
“按 QQ 升序排序”“按 QQ 降序排序”“按类别升序排序”“按性别降序排序”16 种排序功
![](https://csdnimg.cn/release/download_crawler_static/89274893/bg4.jpg)
XXX 大学计算机学院 C++程序设计课程设计实验报告
第 3 页 共 21 页
能,对文件中存储的通信录人员信息进行排序。
通过用户选择排序类型的编号,系统会完成排序。排序好后,系统会输出排序后的通信
录情况,并同步到文件。
4、人员信息修改模块
进入后,提示“输入要查询的联系人的姓名和电话”。系统会判断电话的格式是否正确。
如果姓名和电话输入正确且有匹配的联系人,系统会显示联系人的完整信息。然后,系统会
询问用户“请确认是否修改:(输入 Y 确认修改,N 取消操作)”。当用户选择“Y”,系统会
显示“1.修改姓名;2.修改性别;3.修改电话;4.修改地址;5.修改邮政编码;6.修改邮箱;
7.修改 QQ;8.修改类别;结束修改,请输入 0;若要修改多个信息,请继续输入序号:”。用
户可根据序号开始修改。系统会检查用户输入信息的格式。若格式正确,系统将保存修改并
同步到文件。
如果输入的姓名和电话没有匹配的联系人,系统会提示“没有对应输入信息的联系人,
修改失败;您可选择(3)人员类别查询人员信息”。
5、人员信息删除模块
进入后,系统会提示“输入要删除联系人的姓名和电话”。基本和修改模块类似。当选
择“确认删除”后,系统会显示“删除成功!”。
3.2 系统分析及设计
系统涉及对象有一个基本类:通信录用户。通信录用户的功能操作归纳为如下表 1 所
示:
表 1 涉及的操作
对象
涉及的对象操作
输入联系人信息
按姓名、电话查询
按地址查询(模糊查询)
查询联系人信息
按类别查询
按不同信息升序排序
联系人信息排序
按不同信息降序排序
修改联系人信息
通信录用户
删除联系人信息
系统的主要的类结构如图 2 所示。
数据操作类
![](https://csdnimg.cn/release/download_crawler_static/89274893/bg5.jpg)
XXX 大学计算机学院 C++程序设计课程设计实验报告
第 4 页 共 21 页
通信录联系人
(Person)
图 2 系统主要类结构图
用文本文件进行数据的保存,需要保存的数据主要包括联系人姓名、电话、性别、地址、
邮箱、邮政编码、QQ、类别。设置数据操作类,实现所有的文本操作相关的功能。
3.3 系统的实现
(1)类的编写
系统工程名为:ABS。包含了 Person 类(联系人)一个基本类。由于系统中只有用户
一种使用对象,所以从 Person 类派生出通信录的使用者——用户类。
具体类结构声明如下:
Person 类:
class Person{
protected:
string name;//姓名
string sex;//性别
string teleNum;//电话
string address;//地址
string pCode;//邮政编码
string mailbox;//邮箱
string qq;//QQ
string rele;//类别
public:
Person(string name1="unknown",string sex1="unknown",string teleNum1="unknown",string
address1="unknown",string pCode1="unknown",string mailbox1="unknown",string
qq1="unknown",string rele1="unknown");
string get_name();//获得姓名
string get_sex();//获得性别
string get_teleNum();//获得电话
string get_address();//获得地址
string get_pCode();//获得邮政编码
string get_mailbox();//获得邮箱
string get_qq();//获得 QQ
string get_rele();//获得类别
剩余21页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
ab84878
- 粉丝: 11
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- ch05-卷积神经网络(CNN).zip
- 操作系统实验二:存储管理(分析XV6分页存储地址变换)
- 一个MATLAB画图的进阶示例,展示如何绘制具有颜色映射的三维表面图,并添加图例和注释
- 前程无忧大数据.xlsx
- JavaMail-jar
- 推荐系统实战练习项目和源码.rar
- 微机原理与接口技术HQFC-A系列USB实验
- 联想笔记本维修图纸:Lenovo V130-15IKB Wistron LV315KB 17807 17807-1 17807
- 一个MATLAB GUI进阶示例,展示如何创建一个简单的用户界面,该界面使用户能够输入两个数值,执行加法运算,并显示结果
- JavaScript 基础学习1(js引入方式、基础使用、核心语法、复合类型) 示例代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)