> # ♻️ 资源
> **大小:** 3.27MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010761**](https://www.yuque.com/sxbn/ks/100010761)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87430311**](https://download.csdn.net/download/s1t16/87430311)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 个人通讯录管理系统
## 问题描述
主要内容:
个人通讯录是记录了同学(包含一起上学的学校名称)、同事(包含共事的单位名称)、朋友(包含认识的地点)、亲戚(包含称呼)等与本人有关人员的数据集。
具体要求:
提供录入个人信息、修改个人信息(姓名和出生日期除外)、删除个人信息等编辑功能。
提供按姓名查询个人信息的功能。
提供查找在 5 天之内过生日的人员的信息,以便发出祝贺电话或 E-mail。
按照姓名或出生日期排序,显示输出。
统计在给定月份出生的人数,并显示输出。
能列出全体人员的姓名、出生日期、电话和 email 地址。
能分别列出同学、同事、朋友、亲戚的所有信息。
用菜单形式提供程序的各种功能的选择。
## 系统设计
## 开发环境:
控制台版本:VS2015
Qt 界面版本:Qt_5_6_0_MinGW_32bit
控制台版本与界面版本:
程序共有两个版本,控制台版本和界面版本。在程序设计之初,我们为了由易到难循序渐进,我们先在控制台下实现通讯录的各个功能。在完成并完善了控制台下最初版本之后,再设计并实现最终的界面版本。
类体系设计:
程序结构中以 Person 类为基类,以 Relative、Friend、Colleague 和 Classmate 为其派生类。程序通过生成这四个派生类的对象来存储通讯录联系人信息。基类 Person 类中包含了姓名、电话、地址等基本信息,每一个派生类各自增加了不同的数据成员以及相应返回其数据成员的成员函数。
程序中还定义了 AddressBook 类,这个类严格意义来说就是我们所理解的通讯录。其数据成员中包含了一个 Person 类型的指针数组。其成员函数共有七个,七个函数可对该 Person 类型指针数组进行操作,以完成题目所要求的添加联系人、删除联系人、显示所有联系人并排序等功能。
类体系设计框架如图。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391109833-2f1cc0a9-e9e8-4657-8409-3b9d2b0c5227.png#averageHue=%233c3332&from=url&id=lFM7q&originHeight=504&originWidth=955&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
类定义:(图片代码中有注释详细说明)
基类 Person 类:
数据成员:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391109896-bcdd3c93-bbf1-4861-809a-8294d16d88a3.png#averageHue=%23201f1e&from=url&id=NSBul&originHeight=231&originWidth=415&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
成员函数:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391109959-84e5b07b-2ccd-4bc3-89fa-0cbccb78ac9f.png#averageHue=%231f1e1e&from=url&id=AU9LM&originHeight=363&originWidth=877&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
派生类 Relative:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110021-2e6609d0-e785-43ad-812e-0c12bfd85260.png#averageHue=%231f1f1e&from=url&id=kq4kh&originHeight=204&originWidth=1076&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
派生类 Colleague:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110090-9ebc119f-6e70-428f-942d-1f3e46d4dc83.png#averageHue=%231e1e1e&from=url&id=ZX1iU&originHeight=241&originWidth=1190&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
派生类 Friend:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110211-a08828cf-26e9-4b73-a065-af3c1010fab7.png#averageHue=%231e1e1d&from=url&id=BF0j8&originHeight=182&originWidth=1057&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
派生类 Classmate:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110277-bb95f0e5-d1e7-4555-9e71-c717507cca35.png#averageHue=%231e1e1d&from=url&id=gacak&originHeight=194&originWidth=1134&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
通讯录类 Addressbook:
头文件:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110351-01b44a34-2ef6-4d59-8836-c92605992885.png#averageHue=%231f1e1e&from=url&id=vZzll&originHeight=553&originWidth=923&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
Cpp 文件:
通讯录 Addressbook 类各部分功能:
输入联系人信息:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110407-3edd70fd-4517-4e79-b33e-bbfe892c4522.png#averageHue=%231f1f1e&from=url&id=f3dJq&originHeight=479&originWidth=978&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
删除联系人:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110509-c400f0b7-98e2-459a-8eee-24bb7d7128bf.png#averageHue=%23201f1f&from=url&id=ttF3h&originHeight=434&originWidth=552&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
对联系人进行排序:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110570-30e80015-a724-4b17-8767-d73a1a7fd921.png#averageHue=%231f1f1f&from=url&id=tUyga&originHeight=546&originWidth=768&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
保存到文件夹
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110660-6d056ff8-d333-4fa1-b936-0d364f8a83ab.png#averageHue=%2321201f&from=url&id=u7Elj&originHeight=711&originWidth=1004&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
读取文件
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110729-14c2b5fd-bcd4-40d3-a610-00c5e6203acc.png#averageHue=%23222120&from=url&id=GUpLW&originHeight=494&originWidth=569&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110796-19c23a8c-374e-42c7-ba17-3ae4db1102e4.png#averageHue=%23222120&from=url&id=jRwFi&originHeight=489&originWidth=522&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
查找联系人
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1715391110854-8816489a-c7ef-4b7d-b14d-3685c1bfc3d9.png#averageHue=%231f1f1e&from=url&id=E6FwF&originHeight=282&originWidth=656&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
另外需要说明的是,控制台版本中基类 Person 类设为抽象类,函数 Print、Print2 为纯虚函数。(Print 输出中文如“姓名、电话号码”等等,Print2 则输出相应的具体成员信息) 四个派生类都有其版本的虚函数以满足输出不同信息的要求。
因为读写兼容性问题(二进制文本读写和虚函数似乎不兼容,这个问题我们一直未能解决。目前已将该情况向老师说明,但暂时还未得到解决)因此我们在控制台版本中继续采用抽象类以及虚函数,并将二进制文本读写改为文本读写。在界面版本中我们则放弃采用抽象类和虚函数,继续使用二进制文本读取。
没有合适的资源?快使用搜索试试~ 我知道了~
基于QT(C++)的个人通讯录管理系统【100010761】
共51个文件
png:18个
cpp:11个
h:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 184 浏览量
2023-02-09
09:19:52
上传
评论
收藏 3.28MB ZIP 举报
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010761 个人通讯录是记录了同学(包含一起上学的学校名称)、同事(包含共事的单位名称)、朋友(包含认识的地点)、亲戚(包含称呼)等与本人有关人员的数据集。 具体要求: 提供录入个人信息、修改个人信息(姓名和出生日期除外)、删除个人信息等编辑功能。 提供按姓名查询个人信息的功能。 提供查找在 5 天之内过生日的人员的信息,以便发出祝贺电话或 E-mail。 按照姓名或出生日期排序,显示输出。 统计在给定月份出生的人数,并显示输出。 能列出全体人员的姓名、出生日期、电话和 email 地址。 能分别列出同学、同事、朋友、亲戚的所有信息。 用菜单形式提供程序的各种功能的选择。
资源推荐
资源详情
资源评论
收起资源包目录
100010761-基于QT(C++)的个人通讯录管理系统.zip (51个子文件)
addressbook
recent_birth_form.h 417B
list_item_form.h 1KB
adressbook.cpp 6KB
plus.png 625B
more.png 3KB
friend.h 362B
mainwindow.h 1KB
addressbook.h 976B
classmate.cpp 525B
colleague.h 459B
icon_classmate.png 207B
LICENSE 34KB
classmate.h 383B
mainwindow.cpp 8KB
icon_all.png 3KB
icon_friend.png 533B
icon.qrc 644B
icon_birth.png 6KB
recent_birth_form.cpp 2KB
info_form.ui 13KB
main.cpp 2KB
mainwindow.ui 10KB
colleague.cpp 667B
remove.png 3KB
icon_colleague.png 276B
avatar.png 6KB
relative.cpp 496B
avatar_add.png 7KB
relative.h 397B
zoom34.png 17KB
notebook62.png 10KB
close.png 753B
person.h 840B
报告
C++大作业-2-界面设计实现细节.pdf 609KB
主界面.png 48KB
计科2-qhy-yc-高级语言程序设计大作业》报告.doc 2.7MB
icon_home.png 435B
icon.ico 1.03MB
person.cpp 2KB
friend.cpp 492B
info_form.cpp 13KB
mini.png 3KB
icon_down.png 3KB
cpp_project_2_1.pro 777B
README.md 23KB
list_item_form.cpp 4KB
list_item_form.ui 5KB
info_form.h 1KB
cpp_project_2_1.pro.user 23KB
recent_birth_form.ui 679B
icon_up.png 3KB
共 51 条
- 1
资源评论
- fagege0012023-06-18资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
神仙别闹
- 粉丝: 3555
- 资源: 7458
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功