手机通信录管理系统课程设计.docx
《手机通信录管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《手机通信录管理系统课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
手机通信录管理系统课程设计
信息科学与技术学院
程序设计基础课程设计报告
题目名称:
手机通信录管理系统
学生姓名:
陶鑫
学号:
35
专业班级:
11级计科2班
指导教师:
高攀
2012年7月4日
1课程设计题目与要求
设计题目
手机通讯录管理系统
设计要求
1.问题描述(功能要求):
设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。
功能要求:
(1)查看功能:
选择此功能时,列出下列三类选择。
A办公类B个人类C商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)
(2)增加功能:
能录入新数据(一个结点包括:
姓名、电话号码、分类(可选项有:
A办公类B个人类C商务类)、电子邮件)。
例如
杨春商务类++om
当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(3)拔号功能:
能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。
(4)修改功能:
选中某个人的姓名时,可对此人的相应数据进行修改
(5)删除功能:
选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号
2.问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
3.其它要求:
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)建议使用结构和链表等数据结构
(4)学生可自动增加新功能模块(视情况可另加分)
2总体设计
Main()函数:
从文件中读取数据,输出手机通讯录管理系统界面
Run()函数;输出菜单项,负责调用个功能函数
Dail(),lookfor(),add(),del(),modify(),save(),函数等分别负责拨号,查找,添加,删除,修改,保存等功能,各函数间调用,实现所需功能。
图1
为设计的总体结构,显示的各函数间的关系。
3详细设计
数据结构设计
本程序主要使用了结构体类型,定义了16个结构体数组,其中最后一个盛放空指针,适合表现手机通讯录中联系人的一些基本性质,并且使用了链表,可以方便的存取,修改,查看数据等。
structperson
{
stringname;
stringnumber;
stringgroup;
stringemail;
structperson*next;};
主模块设计
Link()函数:
负责建立链表
N
Y
Y
N
图2
图2将结构体数组首地址传给链表头指针,将个各联系人相连。
Show()函数:
显示手机通讯录人员信息
Y
图3
Minu()函数:
显示各项功能,调用相关函数完成相关功能
123456
图4
图4显示菜单函数可以显示选择1、2、3、4、5、6时分别所执行的操作
Lookfor()函数:
负责查找信息功能
图5
图5显示选择1、2、3、4时分别按姓名,号码,类别,邮箱查找,当选3时又可分为A办公类B个人类C商务类查找
Dial()函数:
负责拨号功能
N
Y
图6
图6显示当拨号时选择各联系人代号可拨号
Add()函数:
负责添加功能
Y
N
Y
图7
图7显示的是添加联系人时,当联系人已有15人时显示通讯录已满,当不满时,依次将链表中成员后移一个,将新添加联系人插入到最前面。
Del()函数:
负责删除功能
图8
图8显示可按图示的类别删除联系人信息
modify()函数:
负责修改联系人信息
Y
N
N
Y
图9
图9显示首先选择修改方式,通过一个循环结构函数看有无重复的,若有重复则显示出错,否则找到相应位置进行修改。
4、运行结果
主页面
图10
各功能运行结果
拔号功能
图11
查找功能
图12
删除功能
图13
添加功能
图14
修改功能
图15
退出
图16
通过此次课程设计,我认识到了自己有太多的不足,原来自己掌握的知识太不系统,平时做课后题还以为c++没什么,但真让自己做一个课题困难是那么大,开始自己毫无思路,不过还好通过查阅资料,和自己的坚持终于完成了指定的功能,不过这个设计还存在许多不足,通过此次课程设计,我感到自己的动手能力得到了极大地提高,另外,我也对做c++课题产生了极大地兴趣,我要在暑假中自己尝试多编写程序,不断提高自己。
参考文献
谭浩强编著《C++程序设计》清华大学出版社
郑莉等编著《C++语言程序设计(第三版)学生用书》北京:
清华大学出版社
范辉等编著《VisualC++程序设计简明教程》高等教育出版社