数据结构课程设计学生信息管理系统.docx

上传人:博****1 文档编号:473216333 上传时间:2022-11-10 格式:DOCX 页数:25 大小:274.61KB
返回 下载 相关 举报
数据结构课程设计学生信息管理系统.docx_第1页
第1页 / 共25页
数据结构课程设计学生信息管理系统.docx_第2页
第2页 / 共25页
数据结构课程设计学生信息管理系统.docx_第3页
第3页 / 共25页
数据结构课程设计学生信息管理系统.docx_第4页
第4页 / 共25页
数据结构课程设计学生信息管理系统.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数据结构课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计学生信息管理系统.docx(25页珍藏版)》请在金锄头文库上搜索。

1、 学生通讯录管理系统设计1 需求分析1.1 设计任务要求通讯录系统主要包含以下要求:(1)设计一个学生通讯录管理系统,每个学生数据信息包括:姓名、电话号码、qq、邮编和地址;(2)创建学生数据类型为结构体并以磁盘文件保存;(3)能读取磁盘文件并显示输出学生的相关信息;(4)能按姓名或电话等多种方式进行学生信息查询;(5)能查询、添加、修改和删除学生通讯录。1.2 系统功能需求分析系统主要包含以下主要功能:(1)查询通讯录记录;(2)添加通讯录记录;(3)修改通讯录记录;(4)删除通讯录记录;(5)关闭通讯录。2 概要设计2.1 数据类型本系统中所有变量都定义为字符串型,学生通讯录数据类型定义为

2、结构体类型。然而为了更加方便,添加了抽象数据类型类book,再私有继承了以结构体存储的学生数据。2.2 主程序及各程序层次关系以下是系统功能模块关系图,主要包含查询、添加、修改、删除联系人和关闭系统等功能。另外还提供了键盘式选择菜单实现功能选择。图2.1 系统功能模块关系图查询联系人:可以选择用姓名和电话两种方式查询添加联系人:可以添加通讯录记录,依次输入姓名、电话、qq、邮编和地址修改联系人:输入欲修改联系人姓名后,再依次输入修改姓名、电话、qq、邮编和地址即可完成修改删除联系人:输入欲删除联系人的姓名后,会自动删除该联系人的记录内容关闭系统:选择相关操作进行系统正常关闭,保存有效数据记录3

3、 详细设计3.1 实现数据类型(1)以字符串类型定义通讯录中学生数据信息变量:string name;/姓名 string number;/电话号码 string qq;/QQ号 string post;/邮编 string address;/地址(2)学生通讯录数据类型定义为结构体存储:struct inf string name;/姓名 string address;/地址 string number;/电话号码 string post;/邮编 string qq;/QQ号datatype;(3)实现类book私有继承结构体inf:class book:private infpublic:

4、 book();/默认构造函数 int face();/首页 void add_person();/添加联系人 void del_person();/删除联系人 void fix();/修改信息 void find();/查询联系人 void save_new();/保存新增加的联系人;3.2 实现各操作模块的功能(1)主函数的实现:int main() int choose; book b; while (choose = b.face() switch (choose) case 1: b.find();/查询联系人 break; case 2: b.add_person();/添加联系人

5、 break; case 3: b.fix();/修改信息 break; case 4: b.del_person();/删除联系人 break; case 5: cout endl 谢谢使用! endl endl; exit(0);/退出系统 break; default: break; return 0;(2)各操作模块函数的实现:void book:add_person()/添加联系人 cout endl 请根据提示输入信息 endl endl coutname; cout number; cout qq; cout post; cout address; save_new(); cou

6、t endl endl 新联系人信息已经保存好! endl endl; system(pause);/出现中文的显示:按任意键继续。void book:del_person()/删除联系人 ofstream outData(temp.txt, ios:out); ifstream inData(pbook.txt, ios:in); if (!outData | !inData) cout endl 对不起!找不到文件! endl; system(pause); return; string s; cout endl s; string str; bool flag = true; while

7、 (inData name number) getline(inData, str); if (s=name) | (s=number) cout endl 你想删除的联系人: endl endl;cout setiosflags(ios:left) setw(17) 姓名 setw(16) 电话号码 setw(18) QQ setw(14) 邮编 setw(20) 地址 endl; cout setiosflags(ios:left) setw(17) name numberstr endlendl; flag = false; break; outData setiosflags(ios:

8、left) setw(17) name/将不删除的信息放到temp.txt number qqstr endl; if (flag) cout endl 对不起!联系人中没你找的人! endl endl; else/将temp.txt的数据复制到pbook.txt,直接覆盖要删除的信息,达到删除效果 while (getline(inData, str) outData str endl; outData.close(); inData.close(); ofstream out(pbook.txt, ios:out); ifstream in(temp.txt, ios:in); if (!

9、out | !in) cout endl 对不起!不能打开文件! endl endl; system(pause);return; while (getline(in, str) out str endl; out.close(); in.close(); cout endl 该联系人信息已从通迅录中删除! endl endl; system(pause); void book:fix()/修改信息 ofstream outData(temp.txt, ios:out); ifstream inData(pbook.txt, ios:in); /if (!outData | !inData)

10、cout endl 对不起!找不到文件! endl; system(pause); return; string s; cout endl s; bool flag = true; string str; while (inData name number) getline(inData, str); if (s=name) | (s=number) cout endl 你想修改的联系人: endl endl;cout setiosflags(ios:left) setw(17) 姓名 setw(16) 电话号码 setw(18) QQ setw(14) 邮编 setw(20) 地址 endl; cout setiosflags(ios:left) setw(17) name number str endl; cout endl 请根据下面提示修改信息 : endl; cout name; cout number; cout qq; cout post; cout address; save_new(); flag = false; break; outData

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 人力资源管理师

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号