1、 信息科学与技术学院信息科学与技术学院 程序设计基础课程设计报告程序设计基础课程设计报告 题目名称:题目名称: 通信管理系统通信管理系统 学生姓名:学生姓名: 学学 号号: 专业班级:专业班级: 指导教师:指导教师: 20162016 年年 1212 月月 3131 日日 目录目录 1.1.课程设计题目与要求课程设计题目与要求 1 1 1.1 设计题目 1 1.2 设计要求 1 2.2.总体设计总体设计 2 2 2.1 总体功能框架 2 2.2 数据结构概要设计 2 3.3.详细设计详细设计 3 3 3.1 数据结构详细设计 3 3.2 系统功能详细设计 . 11 4.4.运行结果运行结果 1
2、616 5.5.课程设计总结课程设计总结 2020 5.1 编程中的问题及解决方法 . 20 5.2 小结 20 5.3 心得体会. 20 5.4 程序设计方法 . 20 参考文献参考文献 2121 1 1.1.课程设计题目与要求课程设计题目与要求 1.11.1 设计题目设计题目 通信管理系统 1.21.2 设计要求设计要求 用 C/C+设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 (一)功能要求 (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类 B 个人类 C 商务类 ,当选中某类时,显示出此类所有数据中 的姓名和电话号码) (2)增加功能:能录入新数据(一个结点
3、包括:姓名、电话号码、分类(可 选项有:A 办公类 B 个人类 C 商务类) 、电子邮件) 。例如 杨春 13589664454 商务类 Chuny126.C+om 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通 信录中超过 15 条信息时,存储空间已满,不能再录入新数据;录入的新数据能 按递增的顺序自动进行条目编号。 (3)拔号功能:能显示通信录中所有人姓名,当选中某个姓名时,屏幕上 模拟打字机的效果依次显示此人电话号码中的各个数字, 并伴随相应的拔号声音。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能:选中某个人的姓名时,可对此人的相应
4、数据进行删除,并 自动调整后续条目的编号。 (二)其它要求: (1) 只能使用 C/C+语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 建议使用结构和链表等数据结构 (4) 学生可自动增加新功能模块(视情况可另外加分) 2 2.2.总体设计总体设计 2.1 2.1 总体功能框架总体功能框架 图 2-1 总体功能框架图 2.2 2.2 数据结构概要设计数据结构概要设计 本通信管理系统采用的数据结构为线性表中的链表。 链表的结构体成员分为 数据域和指针域。 数据域为联系人 (contacts) 结构体, 成员有联系人姓名 (name)
5、 、 联系人电话号码(teleNum) 、联系人类别(classes) 、电子邮件(email)四个。 图 2-2 数据结构组成 功能模块 新增联系人 查看通信录 拨号 修改信息 删除联系人 导入通信录 导出通信录 退出系统 3 3.3.详细设计详细设计 3.1 3.1 数据结构详细设计数据结构详细设计 结构体名称:contact,LNode,*LinkList typedef struct string name; /姓名 string teleNum; /电话号码 int classes; /分类 string email; /电子邮件 contacts; typedef struct L
6、Node contacts data; /数据域 struct LNode* next; /指针域 LNode,*LinkList; 具体操作: InitList( L-next = NULL; return 0; CreateList_H( for(int i = 0;i p-data.name; cout data.teleNum; cout p-data.classes; cout data.email; p-next = L-next; L-next=p; CheckAll(L, c) 操作结果:显示类别为 c 的联系人姓名和电话号码 具体代码: void CheckAll(LinkList L,int c)/c 是联系人类别 LinkList p; p