电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c++通讯录程序设计

18页
  • 卖家[上传人]:索****
  • 文档编号:142252263
  • 上传时间:2020-08-18
  • 文档格式:PDF
  • 文档大小:703.51KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1 C+ 程序设计课程设计报告 通讯录管理系统 班级: 1120551 学号: 03 姓名: 2 一 课程设计题目与要求 题目 通讯录管理系统 系统功能要求: (1)录入通讯录 (2)修改通讯录 (3)查询通讯录(可按姓名、电话、联系人类别查询) (4)删除通讯录 (5)按姓名对通讯录进行排序 3 一 课程设计题目与要求 题目 通讯录管理系统 系统功能要求: (1)录入通讯录 (2)修改通讯录 (3)查询通讯录(可按姓名、电话、联系人类别查询) (4)删除通讯录 (5)按姓名对通讯录进行排序 4 二 需求分析 21 问题描述 根据需求,该系统所应包含的信息有以下一些: 通讯录的基本信息: 姓名、地址、电话 根据需求,该系统所应实现的功能有以下一些: 各种基本数据的录入。如:通讯录基本信息录入。 各种基本数据的修改。即:允许对已经录入的数据重新进行编辑、修改。例 如修改通讯录中张三的电话信息 各种基本数据的删除。例如将张三的信息从通讯录中删除 基于各种数据的查询。例如输入张三姓名,查询张三的电话和地址。 数据导出:将通讯录中信息导出到指定文件。 数据导入:从指定文件导入通讯录信息到。 系

      2、统环境 采用 C+ 语言实现,开发环境为VC+ ,可以运行在操作系统windows98 及以上皆可。 运行要求 能不受限制的录入通讯录信息 界面友好,操作方便,例如删除前需要提示用户是否删除 5 三 概要设计 系统流程设计 根据系统要求,设计如下的系统流程。 菜单显示 用户输入操作 判断用户选择的操作 执行相应的操作 退出 退出 系统模块设计 根据系统的功能设计,如下模块 学生通讯录 主 界 面 显 示 功 能 选 择 通 讯 录 信 息 录 入 通 讯 录 信 息 修 改 通 讯 录 信 息 查 询 通 讯 录 信 息 导 入 通 讯 录 信 息 导 出 通 讯 录 信 息 删 除 1. 主界面模块:完成系统菜单的显示 2. 功能选择模块:根据用户的选择,完成其相应的功能 (1)通讯录信息录入:完成用户从界面输入通讯录,保存入系统的功 能 (2)通讯录信息修改:完成用户从界面输入通讯录,在系统中查询定 位,并将录入的数据保存入系统的功能 (3)通讯录信息查询:完成用户从界面输入查询条件,在系统查询符 合条件的通讯录信息,并在界面上显示的功能。 6 (4)通讯录信息导入:完成用户从界面

      3、输入需要导入的文件路径名称, 读取该文件的内容,保存入系统,并在界面上显示导入内容的功能。 (5)通讯录信息导出:完成用户从界面输入需要导出的文件路径名称, 将系统中通讯录信息保存入文件中。 (6)通讯录信息删除:完成用户从界面输入需要的通讯录信息的姓名, 并将其从系统中删除。 7 四 详细设计 数据结构设计 根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下: 数据项名 称 数据项系统表示数据类 型 数 据 长 度 备注 姓名name字符串20 地址address字符串100 电话tele字符串20 界面设计 1. 主界面: 根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将 在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消 失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。 2. 输入界面: 在光标下输入通讯录的信息,用空格将信息隔开 3. 修改界面: 首先输入通讯录的姓名, 显示该通讯录的详细信息, 输入修改后的信息, 将 8 原来信息修改。 4. 删除界面: 输入需要删除的姓名,将其从通讯录中删除 5. 导出界面: 输入

      4、需要导出的文件路径,将通讯录信息导出到文件。 6. 列表显示页面: 将通讯录中所有记录显示,每页显示10 条 7. 导入页面: 相关功能的整合 8. 查询界面: 相关功能的整合 模块实现 1. 主界面实现: 调用 cout 函数,在屏幕上打印需要显示的字符信息,需要在显示之前调用 9 system( “cls ”)函数将前面的界面清空。 对应的实现函数 menu_show(); 2. 功能选择模块实现: 接受从键盘输入的菜单选择, 判断并调用相应的功能函数, 完成其对应的功 能。实现功能选择。 对应的函数: menu_select(); (1)通讯录信息录入模块实现: 模块说明:从键盘接收输入的通讯录信息, 在动态存储区中创建通讯录的节 点,遍历链表,将其插入到通讯录链表的最后位置。 模块流程: 清屏 遍历链表 找到最后一个节点 创建一个新节点 从键盘给新节点赋值 将新节点连接到链表 的最后一个节点上 对应函数: add(struct phone * head) (2) 通讯录信息修改模块实现: 模块说明:从键盘接收输入的需要修改通讯录的姓名,遍历链表, 判断节点 的姓名是否输入的姓名

      5、相等, 如果相等, 从键盘输入修改后的信息, 保存在该节 点中, 改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数: update(struct phone * head) 10 (3) 通讯录信息删除模块实现: 模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表, 判断节点 的姓名是否输入的姓名相等, 如果相等, 从键盘输入删除后的信息, 保存在该节 点中, 改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数: delete(struct phone * head) (4) 通讯录信息导入模块实现: 模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表, 判断节点 的姓名是否输入的姓名相等, 如果相等, 从键盘输入删除后的信息, 保存在该节 点中, 改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 11 对应函数: load(struct phone * head) (5) 通讯录信息导出模块实现: 模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表,判断节 点

      6、的姓名是否输入的姓名相等,如果相等, 从键盘输入删除后的信息, 保存在该 节点中,改变标识变量, 最后判断标识变量判断是否在链表中找到该姓名的通讯 录。 模块流程: 对应函数: save(struct phone * head) (6) 通讯录信息查询模块实现: 模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表, 判断节点 的姓名是否输入的姓名相等, 如果相等, 从键盘输入删除后的信息, 保存在该节 点中, 改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 12 对应函数: search(struct phone * head) (7) 通讯录信息显示模块实现: 模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表, 判断节点 的姓名是否输入的姓名相等, 如果相等, 从键盘输入删除后的信息, 保存在该节 点中, 改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数: list(struct phone * head) 13 五 测试 录入通讯录测试 1.测试数据:输入张吴波湖北汽车工业学院, ,8241470

      7、 测试结果:程序运行出现错误,如下 原因 电话输入的长度超过了电话表示的长度 2. 测试数据:输入张吴波湖北汽车工业学院, 测试结果:程序运行正常,正确的插入到链表的最后位置 3. 测试数据:输入:张吴波湖北汽车工业学院 8241470 425 测试结果:程序运行不正常, 可以将张吴波湖北汽车工业学院, 8241470 插入到链表的最后位置,但是425 不能保存 原因:使用了 scanf( “%s ”) ,将空格作为截止符 修改通讯录测试 测试数据:在系统中存在4 个名称为 li的通讯录 测试结果:输入修改的姓名 li , 显示了第一个姓名为li的通讯录信息, 输入修改后的信息: 张吴波湖北汽车工业学院将第一个姓名为 li的通讯录修 改成功 . 测试数据:在系统中不存在名称为张三的通讯录,输入后,提示姓名不存在, 14 如下图 导入通讯录测试 测试数据:输入路径(系统中不存在该文件) 测试结果:提示不能打开文件,不能导入 回车后程序结束 原因:不能打开文件文件使用了exit函数 测试数据:输入路径(系统中该文件,格式符合程序要求) 测试结果:提示能将文件中的数据正确导入 查询模块测试:

      8、 测试数据:输入路 测试结果:提示能将文件中的数据正确查询 15 删除模块测试 测试数据:输入路径 测试结果:提示能将文件中的数据正确删除 16 六 结论及改进设想 此通讯录管理系统的程序开发, 其亮点主要是引用了类来宏观调运程序,使 得程序简单、明了、可读性强,在程序操作上也比较省事、方便。 通讯录程序无节点, 这是一个非常大的不足, 急需要改进, 但由于时间比较 紧,就没有想这部分程序。其实,这部分程序也就是退出,需要一个好的位置来 安放此程序。 通讯录程序是我做的第一个比较大的程序,在专业人士看来这不算什么, 但 对我来说有很大的意义, 他的做出激发着我更好的学好c+, 更好的学好专业课。 七 心得体会 对第一次用 C应用程序来做这么大课题的我来说,了解C语言的概 念是非常重要的, C+语言既保留了 C语言的有效性、 灵活性、 便于移植等全部 精华和特点, 又添加了面向对象编程的支持,具有强大的编程功能, 可方便地构 造出模拟现实问题的实体和操作;编写出的程序具有结构清晰、 易于扩充等优良 特性,适合于各种应用软件、 系统软件的程序设计。 用 C+ 编写的程序可读性好, 生成的代

      9、码质量高。所谓C语言:是一种使用非常广泛的计算机编程语言。 任何一个优秀的程序,无非有以下几点:效率高,可读性高,可重用性强, 可移植性好。具体到C+ 程序,如果做面向对象那块,无非是合理的类的设计, 在类中合理安排数据和对数据的处理,信息隐藏的特性等等。 从 C 应用程序目前的活跃程度, 以及应用现状来说是完全能够肯定C 仍然是软件工业的基础,也不会退出历史舞台的。我们也能够看到C的 发展非常活跃,对于新技术新思维非常激进,C 仍然广泛受到关注。 17 八. 参考文献 九 附录 程序源代码 : #include #include #include #include #include int n,m; using namespace std; class msg public: msg(); 添加新联系人 . 4. 修改信息 . endl tt endl tt 2. 删除联系人 . 5. 查询联系人 . endl tt endl tt 3.显示所有联系人. 0. 关闭通迅录 . endl tt endl tt*endl endl choose; return choose; 添加新联系人 . 4. 修改信息 . endl tt endl tt 2. 删除联系人 . 5. 查询联系人 . endl tt endl tt 3. 显示所有联系人. 0. 退出通迅录 . endl tt endl 18 tt*endl endl n; switch(n) case 1: ();/添加联系人 break; case 2: ();/删除联系人 break; case 3: ();/显示所有联系人 break; case 4: ();/修改信息 break; case 5: ();/查询联系人 break; defaul

      《c++通讯录程序设计》由会员索****分享,可在线阅读,更多相关《c++通讯录程序设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.