通讯录管理系统数据结构课程设计.docx

上传人:b****7 文档编号:23526321 上传时间:2023-05-17 格式:DOCX 页数:23 大小:214.36KB
下载 相关 举报
通讯录管理系统数据结构课程设计.docx_第1页
第1页 / 共23页
通讯录管理系统数据结构课程设计.docx_第2页
第2页 / 共23页
通讯录管理系统数据结构课程设计.docx_第3页
第3页 / 共23页
通讯录管理系统数据结构课程设计.docx_第4页
第4页 / 共23页
通讯录管理系统数据结构课程设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

通讯录管理系统数据结构课程设计.docx

《通讯录管理系统数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统数据结构课程设计.docx(23页珍藏版)》请在冰豆网上搜索。

通讯录管理系统数据结构课程设计.docx

通讯录管理系统数据结构课程设计

 

C语言课程设计:

 

通讯录管理系统

 

 

一、需求分析………………………………………………………2

二、概要设计………………………………………………………2

三、详细设计………………………………………………………3

四、{

五、上机操作………………………………………………………14

六、实习心得………………………………………………………19

七、源程序………………………………………………………20

 

 

$

 

一、需求分析

具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。

(1)数据包括:

人名、工作单位、电话号码和E-MAIL地址。

(2)可对记录中的姓名和电话号码进行修改。

(3)可增加和删除记录。

(4)可显示所有的保存记录。

(5)~

(6)可按人名或电话号码进行查询。

[提示]

建议采用结构体数组和文件系统实现。

结构体成员包括人名、工作单位、电话号码和E-MAIL地址。

根据题目的要求程序应该采用结构体数组和文件系统实现。

应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。

二、概要设计

根据上面的分析,可以将程序系统的设计分为如下几个模块:

插入、显示、删除、查询、修改、保存和退出。

三、详细设计

1、主函数;

主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

流程图

N

Y

 

【程序】

&

intmain()

***********\n");

printf("\t\t**********************************************\n");

scanf("%d",&n);

for(i=0;i

printf("请输入工作单位:

\n");

scanf("%s",&pMan[Size+i].Depart);

printf("请输入电话号码:

\n");

]

scanf("%s",&pMan[Size+i].TEL);

printf("请输入Email地址:

\n");

scanf("%s",&pMan[Size+i].Email);

}

if(Save(pMan,Size+n))

{

printf("\t\t***********恭喜!

数据插入成功!

***********\n");

}

else

{

printf("\t\t***********操作失败,请稍后再试!

***********\n");

}

returnSize+n;

}

2、显示模块

此模块为显示所有记录,流程图如下:

【程序】

voidDisplay(Man*pMan,intSize)

{

printf("您要删除的信息为:

\n");

printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);

printf("是否确认删除(Y/N)\n");

scanf("%s",&control);

switch(control)

{

case'y':

pMan->Name[0]='\0';

pMan->Depart[0]='\0';

pMan->TEL[0]='\0';

pMan->Email[0]='\0';

if(Save(pMan,Size))

***********\n");

printf("\t\t**********************************************\n");

scanf("%d",&n);

for(i=0;i

printf("请输入工作单位:

\n");

scanf("%s",&pMan[Size+i].Depart);

printf("请输入电话号码:

\n");

scanf("%s",&pMan[Size+i].TEL);

printf("请输入Email地址:

\n");

scanf("%s",&pMan[Size+i].Email);

}

if(Save(pMan,Size+n))

{

printf("\t\t***********恭喜!

数据插入成功!

***********\n");

}

$

else

{

printf("\t\t***********操作失败,请稍后再试!

***********\n");

}

returnSize+n;

}

 

$

voidModify(Man*pMan,intSize){

printf("您要删除的信息为:

\n");

printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);

printf("是否确认删除(Y/N)\n");

scanf("%s",&control);

switch(control)

{

case'y':

pMan->Name[0]='\0';

pMan->Depart[0]='\0';

pMan->TEL[0]='\0';

pMan->Email[0]='\0';

if(Save(pMan,Size))//将新信息写入文件

{

printf("\t\t**************恭喜!

信息删除成功!

**************\n");;

printf("\t\t**********************************************\n");break;

}

else

{

printf("\t\t************操作失败,请稍后再试!

*************\n");

printf("\t\t**********************************************\n");break;

}

case'n':

printf("信息未删除!

\n");break;

default:

printf("选择有误!

\n");break;

'

}

}

else

{

printf("\t\t*********抱歉,没有找到相关信息!

*********\n");

printf("\t\t******************************************\n");

}

}

~

 

voidDisplay(Man*pMan,intSize)//显示所有记录

{

inti;

printf("\t人名\t工作单位\t电话号码\tE-mail地址\n");

printf("\t************************************************************\n");

for(i=0;i<=Size;i++,pMan++)//依次输出文件中的信息

\

{

printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);

printf("\t-----------------------------------------------------------\n");

}

}

 

voidS_asname(Man*pMan,intSize)//查找信息

^

{

inti=0;

charname[8];

printf("\t\t***********请输入要查询信息的姓名:

***********\n");

printf("\t\t**********************************************\n");

scanf("%s",name);

while(iName,name))//查找

{

:

pMan++;

i++;

}

if(!

strcmp(pMan->Name,name))//找到后输出

{

printf("\t\t***************查到的信息为:

***************\n");

printf("\t*************************************************************\n");

printf("\t人名\t工作单位\t电话号码\tE-mail地址\n");

printf("\t*************************************************************\n");

printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);

printf("\t*************************************************************\n");

}

else

{

printf("\t\t***********抱歉,没有找到相关数据************\n");

printf("\t\t**********************************************\n");

}

}

}

 

voidS_astel(Man*pMan,intSize)//按电话查找模块

{

inti=0;

chartel[12];

printf("\t\t***********请输入要查询信息的电话:

************\n");

printf("\t\t**********************************************\n");

scanf("%s",tel);

while(iTEL,tel))//查找信息

{

pMan++;

i++;

}

if(!

strcmp(pMan->TEL,tel))//输出找到的信息

{

printf("\t\t****************查到的信息为:

****************\n");

printf("\t*******************************************************\n");

printf("\t人名\t工作单位\t电话号码\tE-mail地址\n");

printf("\t*******************************************************\n");

printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);

printf("\t*******************************************************\n");

`

}

else

{

printf("\t\t************抱歉,没有找到相关数据************\n");

printf("\t\t**********************************************\n");

}

}

·

 

intmain()//主函数

{

Manman[500],*pman=man;;

charcontrol;

intsize;

printf("\t\t**********************************************\n");//窗口初始化

printf("\t\t**********欢迎使用通讯录管理系统!

***********\n");

printf("\t\t*--------------------------------------------*\n");

printf("\t\t*请按回车键继续!

*\n");

printf("\t\t**********************************************\n");

scanf("%c",&control);

if(control)

{

size=Scan(pman);//判断文件是否存在

printf("\t\t\t请输入相应操作数操作\n");

for(;;)//菜单生成

{

printf("\t\t**********************************************\n");

printf("\t\t*1--插入信息*\n");

printf("\t\t*2--按姓名查找*\n");

printf("\t\t*3--按电话查找*\n");

printf("\t\t*4--删除信息*\n");

printf("\t\t*5--显示信息*\n");

printf("\t\t*6--修改信息*\n");

printf("\t\t*0--退出系统*\n");

printf("\t\t**********************************************\n");

scanf("%s",&control);

switch(control)

{

case'1':

size=Insert(pman,size);break;//插入新的通讯录

case'2':

S_asname(pman,size);break;//按姓名查找

case'3':

S_astel(pman,size);break;//按电话查找

case'4':

Delete(pman,size);break;//删除信息

case'5':

Display(pman,size);break;//显示所有信息

case'6':

Modify(pman,size);break;//修改信息

case'0':

printf("**************谢谢使用!

再见!

**************\n");//退出系统

return0;

default:

printf("**********输入数字有误,请重新输入**********\n");break;

}

}

}

return0;

}

 

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

当前位置:首页 > 工程科技 > 信息与通信

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

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