同学录管理系统详细设计说明书课程名:软件工程实验类型:设计型实验(一)实验目的:通过设计一个《同学录管理系统》,进一步熟悉C++中类的概念、基本知识和技能,类的封装、继承的实现方式。掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。2.实验原理:应用C语言编写,引用各种函数,循环控制语句等设计源程序代码,使设计出来的系统有很好的结构化,便于用户清晰的了解系统并方便使用。3,实验类型:本实验为设计型实验(二)实验内容:系统的功能分析:(1)系统管理:用户管理,修改密码,重新登录,退出系统()数据操作:数据录入,数据查询,数据删除,显示所有记2录,存盘并退出数据库需求分析:根据系统功能,可以确定以下数据项和数据结构:()数据录入,必须包括:姓名,性别,电话,家庭地址,邮1编,E-mail等基本信息;)数据删除,删除某人的信息;2(.(3)数据查询,可以按姓名,家庭住址,性别等多种方式查询;(4)显示所有信息;(三)实验模块设计(1)为便于用户使用本系统时,对各个功能的选择,本系统设计一个操作简单的菜单工作方式。用户根据需要选择相应的菜单项,即可根据提示完成相应的功能。(2)各个模块设计1.主函数main()模块:其功能为显示中文提示菜单,根据用户输入的菜单选项,调用相应功能的各个函数。2.装填函数load()模块:其功能为由文件中的数据生成一个同学录的链表,如果文件不存在,则建立一个空链表。3.插入函数insert()模块:其功能为插入一个记录。4.显示函数display()模块:其功能为显示所有记录的姓名,性别,电话,家庭地址,邮编,E-mail。5.查询函数find()模块:其功能为按指定姓名进行查询。如果找到了,显示该记录的姓名,性别,电话,家庭地址,邮编,E-mail。如果未找到,则显示“对不起,此人信息不存在!”的信息。6.删除函数deletee()模块:其功能为按指定姓名删除记录。如果找到了,删除该记录;如果未找到,则提示“对.不起,此人信息不存在!”的信息。7.保存函数save()模块:其功能为将同学录链表中的内容保存到文件中。(3)main()函数流程图开提示“请输入通讯录信息调loa()函打开相应文显示主菜单根据choice值调用函数调用调用调用调用调用save(deletee()insert()display(find()函数)函数)函数函数函数结束(四)系统概要设计同学录管理系数数数显数删查所保录信息(五)详细设计:主函数功能如下1.首页diaplay();char添加同学voidinsert();删除同学voiddelete();显示所有同学show_all();void查询同学voidfind();各个模块功能的相应程序2.()1()displayvoiddisplay(NOD*head){NOD*p;p=head;while(p!=NULL)>name);-{printf(ame:%s\n,p-printf(email:%s\n,p>email);-printf(ime:%s\n,p>time);>phone);-printf(phone:%s\n\n,pp=p->next;()()find2voidfind(NOD*head){NOD*p;charname[20];牰湩晴尨请输入要查找的人的姓名:);scanf(%s,name);p=head;while(p!=NULL){if(strcmp(name,p->name)==0){printf(ame:%s\n,p->name);printf(email:%s\n,p->email);printf(ime:%s\n,p->time);printf(phone:%s\n\n,p->phone);break;}elsep=p->next;}if(p==NULL)printf(\\t对不起,此人信息不存在!\n);}()()delete3NOD*delete(NOD*head){NOD*p,*q;charname[20];牰湩晴尨请输入要删除记录的姓名:);scanf(%s,name);p=q=head;while(p!=NULL){if(strcmp(name,p->name)==0){if(head==p)head=p->next;elseq->next=p->next;free(p);break;}else{q=p;p=p->next;}}if(p==NULL)printf(\\t查无此人\n);returnhead;}()()insert4NOD*insert(NOD*head){NOD*temp,*p;p=head;temp=(NOD*)malloc(sizeof(NOD));printf(\\t请输入姓名:);scanf(%s,temp->name);printf(\\t请输入电子邮箱:);scanf(%s,temp->email);printf(\\t请输入同学的时段:);scanf(%s,temp->time...