欢迎来到天天文库
浏览记录
ID:856967
大小:376.03 KB
页数:26页
时间:2017-09-20
《手机通讯录管理系统49907》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、信息科学与技术学院《程序设计基础》课程设计报告题目名称:手机通讯录管理系统专业班级:电信(1)班电信(1)班学生姓名:陈磊张昕灏学生学号:20105080902010508087指导教师:高攀完成日期:2011-01目录1课程设计综述31.1课程设计的题目31.2课程设计的目的31.3题目要求32概要设计33详细设计33.1流程图33.2源程序34功能调试184.1主界面184.2添加功能184.3删除功能184.4修改功能:184.5查询功能:184.6拨号功能:184.7保存功能185课程设计总结186参考书目:191课程设计综述1.1课程设计的题目手机通讯录管理系统1
2、.2课程设计的目的通过实际动手操作,解决实际问题,使学生能够发现问题,解决问题,拓展思路,开阔视野,真正做到学以至用。1.3题目要求1.问题描述(功能要求):设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。功能要求:(1)查看功能:选择此功能时,列出下列三类选择。A办公类B个人类C商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A办公类B个人类C商务类)、电子邮件)。例如杨春13589664454商务类Chuny@126.C++om当录入了重复的姓名和电话号码时,则提示数据录
3、入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号2.其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)建议使用结构和链表等
4、数据结构(4)学生可自动增加新功能模块(视情况可另加分)2概要设计本程序在安全性方面相对比较突出。为避免程序实现一部分功能即结束,我们采用了用一个子函数代替主函数,子函数调用自身的方法。同时在出现功能选择的地方,为防止出现意外的死循环,我们功能选择参数一律使用string类型。在保存提取数据方面,我们严格按照有变动即存储,存储完立即提取到内存的规则,有效遏止了数据意外丢失或调用不及时等情况的发生。本程序共使用了9个子函数分别来实现不同功能程序中最关键的通讯录成员采用结构体定义,丰富了成员所包含的信息。在主界执行方面,采用独立的子函数执行。在该函数中分别调用不同功能的函数,执
5、行完相应的功能后可选择继或返回主菜单。主菜单在运行时会先调用一个子函数将通讯录中的信息展示给用户,然后用户可对照信息进行响应的功能选择,不同功能调用不同函数。各函数在执行功能时会进行相应的嵌套,以弥补各自的不足。各功能采用不同函数来执行,方便调试和修改。各函数相互调用,最后整合在一起便构成了该系统程序。3详细设计3.1流程图main()主函数add()添加show()显示modify()修改cut()删除exit(1)退出lookfor()查询run()菜单函数save()保存dial()拨号link()建立链表结构图输出界面选择操作选1选2选3选4选5选6拨号查询添加删除
6、修改退出系统结束非00非0非0非0非00000保存开始读取数据流程图3.2源程序#defineNULL0开始#include//定义文件输入输出流#include#includeusingnamespacestd;//定义结构体类型structperson{stringname;//姓名stringnumber;//号码stringgroup;//类别stringemail;//邮箱structperson*next;//链指针};//函数声明voidsave(personcaller[],person*head,per
7、son*p);//执行保存功能voidlookfor(personcaller[],person*head,person*p);//执行查询功能voidadd(personcaller[],person*head,person*p);//执行填加功能voidcut(personcaller[],person*head,person*p);//执行删除功能voidmodify(person*caller1,personcaller[],person*head,person*p);//执行修改功能voiddial(pe
此文档下载收益归作者所有