数据结构CC++学生通讯录管理系统Word文件下载.docx

上传人:b****2 文档编号:13784684 上传时间:2022-10-13 格式:DOCX 页数:38 大小:281.26KB
下载 相关 举报
数据结构CC++学生通讯录管理系统Word文件下载.docx_第1页
第1页 / 共38页
数据结构CC++学生通讯录管理系统Word文件下载.docx_第2页
第2页 / 共38页
数据结构CC++学生通讯录管理系统Word文件下载.docx_第3页
第3页 / 共38页
数据结构CC++学生通讯录管理系统Word文件下载.docx_第4页
第4页 / 共38页
数据结构CC++学生通讯录管理系统Word文件下载.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

数据结构CC++学生通讯录管理系统Word文件下载.docx

《数据结构CC++学生通讯录管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构CC++学生通讯录管理系统Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。

数据结构CC++学生通讯录管理系统Word文件下载.docx

主硬盘希捷ST500DM002-1BD142(500GB/7200转/分)

显卡ATIRadeonHD6550D(512MB/ATI)

显示器飞利浦PHLC0A9227E4Q(21.7英寸)

声卡ATIK12高保真音频

网卡瑞昱RTL8168EPCI-EGigabitEthernetNIC/技嘉

2.2软件要求

Windows8专业版64位

MicrosoftVC++6.0

第3部分系统详述

3.1需求分析

本软件是学生通讯录管理系统,为了更好地方便大家之间的联系,更加有效地提取在程序中的每个人的信息和随时都能添加和删除信息,及时地将信息存盘和保留数据,并且为了方便使用本软件,系统分了7个备选项,功能强大,管理方便。

具体功能如下:

【新建】建立一个新的通讯录,每条记录包含编号、姓名、性别、电话、地址,输入编号为“0”时结束。

【添加】添加一条通讯录记录,包含编号、姓名、性别、电话、地址,可选择是否继续添加。

【查询】选择按编号或姓名进行查询,输出所有相符合的记录,可选择是否继续查询。

【删除】输入要删除记录的编号,删除并显示所有符合条件的记录,可选择是否继续删除。

【输出】输出通讯录的所有记录。

【保存】保存当前通讯录信息到“RD.txt”文件中。

【退出】退出通讯录管理系统。

3.2概要设计

3.2.1总体设计思路(主流程图)

为了更好地方便大家之间的联系,更加有效地管理通讯信息,本通讯录系统共设计了新建、添加、查询、删除、输出、保存、退出7个模块。

下面是设计框图:

3.2.2主函数(main())

程序采用结构化,模块化设计。

主函数是程序的入口,各模块相互独立,并且可以分块调试,均由主函数控制调用。

控制功能的实现通过执行一个while()循环语句和一个switch()分支语句。

3.2.3新建函数(voidStudentRecords:

Build())

本函数用于建立一个新的通讯录。

依次输入编号、姓名、性别、电话、地址添加一条记录,直到输入的编号为“0”时结束通讯录的建立。

流程图如下:

 

3.2.4添加函数(voidStudentRecords:

Add())

本函数用于添加记录,依次输入编号、姓名、性别、电话、地址添加一条记录,输入“Y/N(不区分大小写)”选择是否继续添加。

3.2.5查询函数(voidStudentRecords:

Check())

本函数用于查询指定通讯记录。

可选择按编号或姓名进行查询,输出所有符合条件的记录,输入“Y/N(不区分大小写)”选择是否继续查询。

3.2.6删除函数(voidStudentRecords:

Delete())

本函数用于删除指定编号的记录,并显示删除的所有记录。

输入“Y/N(不区分大小写)”选择是否继续查询。

3.2.7输出函数(voidStudentRecords:

PrintList())

此函数用来显示当前通讯录中的所有记录。

3.2.8保存函数(voidStudentRecords:

Preservation_file())

此函数用于保存当前通讯录信息到“RD.txt文档中”。

3.2.9读取文件信息(voidStudentRecords:

cin_file(char*filename))

此函数在其他函数执行过程中自动读取。

3.3详细设计

3.3.1预编译部分

#include<

iostream>

string>

conio.h>

iomanip>

fstream>

windows.h>

usingnamespacestd;

3.3.2结构体框架

typedefstruct

{

stringnum;

stringname;

stringsex;

stringphone;

stringaddr;

}DataType;

typedefstructnode

DataTypedata;

structnode*next;

}ListNode;

typedefListNode*LinkList;

3.3.3类的定义

classStudentRecords

public:

StudentRecords(){head=newListNode;

head->

next=NULL;

}

~StudentRecords();

voidBuild();

voidAdd();

voidCheck();

voidDelete();

voidPrintList();

voidcin_file(char*filename);

voidPreservation_file();

private:

LinkListhead;

};

3.3.4通讯录的建立

voidStudentRecords:

:

Build()

stringNUM;

boolflag=false;

ListNode*p;

cout<

<

"

输入编号为0结束通讯录的建立"

endl<

----------------------------"

endl;

while(!

flag)

{

cout<

编号:

;

cin>

>

NUM;

if(NUM!

="

0"

{

p=newListNode;

p->

data.num=NUM;

cout<

姓名:

cin>

p->

data.name;

性别:

data.sex;

电话:

data.phone;

地址:

data.addr;

next=head->

next;

head->

next=p;

-------------------"

}

else

system("

cls"

);

break;

}

3.3.5析构函数释放空间

StudentRecords:

~StudentRecords()

ListNode*p,*q;

p=head;

q=p->

deletep;

while(q)

p=q;

q=p->

deletep;

3.3.6通讯录的添加

Add()

boolflag=true;

while(flag)

p=newListNode;

分别输入编号,姓名,性别,电话,地址:

data.num;

p->

head->

是否继续添加(Y/N):

charYN;

YN;

system("

if(YN=='

Y'

||YN=='

y'

)flag=true;

elseflag=false;

3.3.7通讯录的查询

Check()

inti;

boolflag1,flag2,flag3,flag;

flag=true;

charYN='

stringNAME;

if(!

next)

通信录为空!

while(YN=='

{

intj=0;

flag3=false;

cout<

请选择查询的方式(1编号,2姓名):

cin>

i;

switch(i)

{

case1:

cout<

请输入编号:

cin>

break;

case2:

请输入姓名:

NAME;

default:

输入错误,请重新输入!

flag3=true;

}

if(!

flag3)

p=head->

flag1=false;

while(p)

{

flag2=false;

switch(i)

{

case1:

if(NUM==p->

data.num){flag2=flag1=true;

q=p;

p=p->

case2:

if(NAME==p->

data.name){flag2=flag1=true;

default:

}

if(flag2)

if(j==0)

查询到学生信息如下:

cout<

q->

data.num<

data.name<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1