数据结构(C&C++)_ 学生通讯录管理系统方案

上传人:xmg****18 文档编号:120396977 上传时间:2020-02-06 格式:DOC 页数:34 大小:450KB
返回 下载 相关 举报
数据结构(C&C++)_ 学生通讯录管理系统方案_第1页
第1页 / 共34页
数据结构(C&C++)_ 学生通讯录管理系统方案_第2页
第2页 / 共34页
数据结构(C&C++)_ 学生通讯录管理系统方案_第3页
第3页 / 共34页
数据结构(C&C++)_ 学生通讯录管理系统方案_第4页
第4页 / 共34页
数据结构(C&C++)_ 学生通讯录管理系统方案_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据结构(C&C++)_ 学生通讯录管理系统方案》由会员分享,可在线阅读,更多相关《数据结构(C&C++)_ 学生通讯录管理系统方案(34页珍藏版)》请在金锄头文库上搜索。

1、. . . . . 专业.专注 .目 录目 录1第1部分题目及功能说明11.1设计目的11.2设计题目11.3系统功能简介1第2部分环境要求22.1硬件要求22.2软件要求2第3部分系统详述33.1需求分析33.2概要设计33.3详细设计83.4调试分析17第4部分课设总结21附录 完整源代码22. 专业.专注 .第1部分题目及功能说明1.1设计目的通过本课程设计的实践,全面总结课程学习中的数据类型、程序结构、数组、函数、指针、结构体等基本概念、使用方法。培养编写计算机应用程序的能力。通过本次实训使自己在实际应用中熟悉并掌握编程方法,并具有初步的编程能力。1.2设计题目学生通讯录管理系统功能:

2、新建、添加、查询、删除、输出、保存、退出。1.3系统功能简介1.通讯录的建立2.通讯录的添加3.通讯录的查询4.通讯录的删除5.通讯录的输出6.通讯录的保存0.退出管理系统第2部分环境要求2.1硬件要求电脑型号技嘉 台式电脑操作系统Windows 8 专业版 64位 ( DirectX 11 )处理器AMD A8-3870 APU with Radeon HD Graphics 四核主板技嘉 A55M-DS2 (AMD K12)内存8 GB ( 金士顿 DDR3 1600MHz )主硬盘希捷 ST500DM002-1BD142 ( 500 GB / 7200 转/分 )显卡ATI Radeon

3、 HD 6550D ( 512 MB / ATI )显示器飞利浦 PHLC0A9 227E4Q ( 21.7 英寸 )声卡ATI K12 高保真音频网卡瑞昱 RTL8168E PCI-E Gigabit Ethernet NIC / 技嘉2.2软件要求Windows 8 专业版 64位Microsoft VC+6.0. . . . .第3部分系统详述3.1需求分析本软件是学生通讯录管理系统,为了更好地方便大家之间的联系,更加有效地提取在程序中的每个人的信息和随时都能添加和删除信息,及时地将信息存盘和保留数据,并且为了方便使用本软件,系统分了7个备选项,功能强大,管理方便。具体功能如下:【新建】

4、建立一个新的通讯录,每条记录包含编号、姓名、性别、电话、地址,输入编号为“0”时结束。【添加】添加一条通讯录记录,包含编号、姓名、性别、电话、地址,可选择是否继续添加。【查询】选择按编号或姓名进行查询,输出所有相符合的记录,可选择是否继续查询。【删除】输入要删除记录的编号,删除并显示所有符合条件的记录,可选择是否继续删除。【输出】输出通讯录的所有记录。【保存】保存当前通讯录信息到“RD.txt”文件中。【退出】退出通讯录管理系统。3.2概要设计3.2.1总体设计思路(主流程图)为了更好地方便大家之间的联系,更加有效地管理通讯信息,本通讯录系统共设计了新建、添加、查询、删除、输出、保存、退出7个

5、模块。下面是设计框图:3.2.2主函数(main()程序采用结构化,模块化设计。主函数是程序的入口,各模块相互独立,并且可以分块调试,均由主函数控制调用。控制功能的实现通过执行一个while()循环语句和一个switch()分支语句。3.2.3新建函数(void StudentRecords:Build()本函数用于建立一个新的通讯录。依次输入编号、姓名、性别、电话、地址添加一条记录,直到输入的编号为“0”时结束通讯录的建立。流程图如下:3.2.4添加函数(void StudentRecords:Add()本函数用于添加记录,依次输入编号、姓名、性别、电话、地址添加一条记录,输入“Y/N(不区

6、分大小写)”选择是否继续添加。流程图如下:3.2.5查询函数(void StudentRecords:Check()本函数用于查询指定通讯记录。可选择按编号或姓名进行查询,输出所有符合条件的记录,输入“Y/N(不区分大小写)”选择是否继续查询。流程图如下:3.2.6删除函数(void StudentRecords:Delete()本函数用于删除指定编号的记录,并显示删除的所有记录。输入“Y/N(不区分大小写)”选择是否继续查询。流程图如下:3.2.7输出函数(void StudentRecords:PrintList()此函数用来显示当前通讯录中的所有记录。流程图如下:3.2.8保存函数(vo

7、id StudentRecords:Preservation_file()此函数用于保存当前通讯录信息到“RD.txt文档中”。3.2.9读取文件信息(void StudentRecords:cin_file(char *filename))此函数在其他函数执行过程中自动读取。3.3详细设计3.3.1预编译部分#include#include#include#include#include#includeusing namespace std;3.3.2结构体框架typedef structstring num; string name;string sex;string phone;stri

8、ng addr;DataType;typedef struct nodeDataType data;struct node *next;ListNode;typedef ListNode *LinkList;3.3.3类的定义class StudentRecordspublic:StudentRecords()head=new ListNode;head-next=NULL;StudentRecords();void Build();void Add();void Check();void Delete();void PrintList();void cin_file(char*filenam

9、e);void Preservation_file();private:LinkList head;3.3.4通讯录的建立void StudentRecords:Build()string NUM;bool flag=false;ListNode *p;cout输入编号为0 结束通讯录的建立endl-endl;while(!flag)coutNUM;if(NUM!=0)p=new ListNode;p-data.num=NUM;coutp-data.name;coutp-data.sex;coutp-data.phone;coutp-data.addr;p-next=head-next;hea

10、d-next=p;cout-next;delete p;while(q)p=q;q=p-next;delete p;3.3.6通讯录的添加void StudentRecords:Add()ListNode *p;bool flag=true;while(flag)p=new ListNode;cout分别输入编号,姓名,性别,电话,地址:endl;coutp-data.num;coutp-data.name;coutp-data.sex;coutp-data.phone;coutp-data.addr;p-next=head-next;head-next=p;coutendl;coutYN;s

11、ystem(cls);if(YN=Y|YN=y)flag=true;else flag=false;3.3.7通讯录的查询void StudentRecords:Check()ListNode *p,*q;int i;bool flag1,flag2,flag3,flag;flag=true;char YN=Y;string NUM;string NAME;while(flag)if(!head-next)cout通信录为空!endl;break;elsewhile(YN=Y|YN=y)int j=0;flag3=false;couti;switch(i)case 1:coutNUM;break;case 2:coutNAME;break;default:cout输入错误,请重新输入!endl;flag3=true;break;if(!flag3)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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