1、 数据结构 C+课程设计 题 目: 通讯录管理系统 学生姓名: 学 号: 院 系: 计算机与信息工程学院 专业年级: 信息安全 2010 级 2012 年 6 月 28 日 一、设计题目 通讯录管理系统 实现一个通讯录管理系统。通讯录内容包括姓名及电话、QQ、E_mail 四项内容。 系统功能包括实现按姓名升序存放通讯录内容,查询某人信息,并在插入或修改 一项新的信息后依然保持有序。最后将通讯录信息保存到数据文件中。 二、需求分析 1 1)运行环境(软、硬件环境)运行环境(软、硬件环境) 使用语言:C+ 软件环境:运行软件 Microsoft Visual C+ 6.0 SP6 系统软件 Wi
2、ndows 7 旗舰版 2 2)输入的形式和输入值的范围)输入的形式和输入值的范围 输入姓名和邮箱为字符型,范围为-128+127 输入电话号码和 QQ 号为整型,范围为-2147483648+2147483647 3 3)输出的形式描述)输出的形式描述 程序运行后经过屏幕输出 4 4)功能描述)功能描述 通讯录内容包括每个人的姓名及电话、QQ、E_mail四项内容; 通讯录中的内容按姓名顺序(升序)存放; 插入一项新的信息或修改一项信息后通讯录任然有序; 查询某人的信息时,如果找到了,则显示该人的信息,如果未找到,则提示 通讯录中没有此人的信息; 修改某人的信息,如果未找到要修改的人,则提示
3、通讯录中没有此人的信 息; 删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信 息; 能显示通讯录中的所有记录; 采用菜单操作。 通讯录的内容保存到数据文件中。 5 5)测试数据)测试数据 姓名 1:smj 电话 1:123 QQ:123 邮箱: 姓名 2:yyf 电话 2:456 QQ:456 邮箱: 姓名 3:vigoss 电话 3:789 QQ:789 邮箱: 修改用:姓名:cold 电话:1 QQ:1 邮箱: 三、概要设计 1 1)抽象数据类型定义描述)抽象数据类型定义描述 (对各类的成员及成员函数进行抽象描述,参见书或(对各类的成员及成员函数进行抽象描述,参见书或 pp
4、tppt 及及实验)实验) 1、student 类:成员类型有姓名,电话号码,QQ 号及邮箱地址。 2、input 函数: 输入:无 前置条件:无 功能:添加联系人信息 输出:无 3.output 函数: 输入:无 前置条件:表存在 功能:用来排序并输出所有联系人的信息 输出:依次输出联系人信息 后置条件:表不变 4、友元类 AddressBook 类:定义头指针,存放数据 key 5、input 函数: 输入:无 前置条件:无 功能:录入函数 输出:无 后置条件:若添加成功,表中增加一个新元素,并且写入文件 6、find 函数: 输入:无 前置条件:found 函数中有 功能:子查找函数 输
5、出:当调用删除、修改操作时,如果找到了,则进入 find 函数找出该联系 人的信息;如果未找到,则提示通讯录中没有此人的信息 7、found 函数: 输入:无 前置条件:表存在 功能:查找函数 输出:当调用查找操作时,如果找到了,则进入 find 函数找出该联系人的信 息;如果未找到,则提示通讯录中没有此人的信息 8、del 函数: 输入:无 前置条件:表存在 功能:删除函数 输出:如果找到了,则删除该联系人信息,如果未找到,则提示通讯录中没 有此人的信息 9、show 函数: 输入:无 前置条件:表存在 功能:显示函数 输出:依次输出联系人信息 10、mend 函数: 输入:无 前置条件:表
6、存在 功能:修改函数 输出:如果找到了则显示该联系人信息并修改,如果未找到,则提示通讯录 中没有此人的信息 11、save 函数 输入:无 前置条件:表存在 功能:保存函数 输出:将数据保存到数据文件中 12、begin 函数: 输入:无 前置条件:表存在 功能:初始化函数 输出:无 13、clear 函数: 输入:无 前置条件:表存在 功能:清空函数 输出:无 14、mainmenu 函数: 输入:无 前置条件:表存在 功能:主选菜单函数 输出:无 15、main 函数: 输入:无 前置条件:表存在 功能:主函数 输出:无 2 2)功能模块设计(如主程序模块设计)功能模块设计(如主程序模块设计) 1.添加联系人信息模块: void AddressBook:input() 2.排序并显示所有联系人信息模块: void Addre