通讯录管理系统任务需求分析说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录管理系统
通讯录是现代日常生活中不可或缺的部分,除了常规的姓名、电话外,通讯录还能存储联系人的所在城市、所在单位、家庭地址等,从而提高工作与社交的效率。鉴于此,单条通讯录信息可被定义为一个结构体。
本实验要求设计一个简单的通讯录管理系统,涉及函数、结构体、链表、文件等方面的知识,学习利用链表处理数据的方法,熟练掌握文件操作,构建综合程序设计的思路及框架,提高综合设计软件系统的能力。
1.数据格式与功能描述
1.1数据文件格式
每条通讯录记录包括如下信息:序号、姓名、性别、年龄、电话号码、所在城市、所在单位、住址。多条通讯录信息存储在一个txt文件中,本系统涉及多个这样的txt文件。单条通讯录示例格式如图1-1所示。
图1-1 单条通讯录信息
本实验中,要求自行创建5个txt文件,分别命名为a.txt, b.txt.. e.txt,分别表示5个人a,b,c,d,e的通讯录信息,每一个人的通讯录中,既可以有其他4人中部分人(1-3人)的信息,也可以有此5人之外其他人的信息,通讯录具体内容可以自行设定。
1.2功能描述
设计一个通讯录管理系统,利用单链表来处理联系人信息,要求实现如下系统功能。
(1)初始化菜单
程序开始运行后显示菜单,要求菜单能完全展示本系统的功能,尽力做到设计美观。
(2)选择待操作的文件
考虑到本系统有多个文件,需要提示用户输入来选择需要操作的通讯录文件。
(3)查询通讯录信息
选择通讯录文件后,按姓名、性别、城市查询联系人所有信息。提示用户输入待查人员的姓名、性别、城市,显示符合条件的联系人所有信息。如果没有满足要求的联系人,输出提示信息。
可输出全部联系人信息,若当前通讯录没有联系人,输出提示信息。
(4)删除通讯录记录信息
按指定的姓名、工作单位、城市删除通讯录中对应记录,删除时应删除该联系人的所有信息并提示删除成功。若此联系人不存在,输出提示信息。
(5)修改通讯录记录信息
修改指定通讯录的信息。提示用户输入要修改的姓名,若此人存在,则提示选择修改通讯录中的电话号码、所在单位、所在城市或者家庭地址。若该联系人不存在,输出提示信息。
(6)增加通讯录记录信息
通过控制台增加通讯录信息,提示用户输入联系人的编号,如果编号存在,提示编号已经存在;如果不存在,则逐项录入通讯录的每一条信息。
(7)保存通讯录记录信息
将当前通讯录信息保存到txt文件中。
(8)构建联系人关系网络
在5个txt通讯录文件中,若a有b的联系方式,记为a→b,若a有b的联系方式且b也有a的联系方式,记为a↔b,若a没有b的联系方式且b也没有a
⁄。现根据此规定构建联系人关系网络M,a,b…e分别对的联系方式,则记为a b
应0,1…4,若满足x↔y(x,y∈{a,b…e}),则对应M[i][j]=1(0≤i,j≤4),若满足x→y(x,y∈{a,b…e}),则对应M[i][j]=1/2(0≤i,j≤4),若满足x/y(x,y∈{a,b…e}),对应M[i][j]=0(0≤i,j≤4)。打印输出a,b,c,d,e五人的关系矩阵。
(9) 退出系统
用户可通过输入特定指令来退出程序,在用户输入退出指令之前,程序不得自行退出。
1.3要求
(1) 源程序编写要求
根据系统功能描述,采用模块化程序设计方法进行程序设计,要求程序结构清晰。上述各个功能模块要求分别用函数实现,在主函数中通过调用这些函数,完成系统功能的要求。代码书写规范,有简要的注释,给出函数说明。
(2) 设计报告撰写要求
设计报告内容包括题目内容和要求、总体设计、详细设计、源代码、调试过程中的问题、总结等。
总体设计:对程序的整体设计思路进行描述,画出图书管理系统的总体功能模块图,说明系统使用的主要数据结构,列表给出需要用到的函数并描述其功能。
详细设计:分析实现各函数功能的算法,描述函数的功能。
调试过程中的问题:记录程序编写和调试过程中遇到的各种问题,以及解决这些问题的途径和方法。
总结:回顾整个综合程序设计的过程,对学习到的设计方法和思路进行总结,写出个人体会。