通讯录管理系统大数据结构课程设计Word文档下载推荐.docx
- 文档编号:20821920
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:30
- 大小:214.97KB
通讯录管理系统大数据结构课程设计Word文档下载推荐.docx
《通讯录管理系统大数据结构课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统大数据结构课程设计Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
N
Y
【程序】
intmain()//主函数
{
Manman[500],*pman=man;
;
charcontrol;
intsize;
printf("
\t\t**********************************************\n"
);
//窗口初始化
printf("
\t\t**********欢迎使用通讯录管理系统!
***********\n"
\t\t*--------------------------------------------*\n"
\t\t*请按回车键继续!
*\n"
scanf("
%c"
&
control);
if(control)
size=Scan(pman);
//判断文件是否存在
\t\t\t请输入相应操作数操作\n"
for(;
)//菜单生成
\t\t*1--插入信息*\n"
\t\t*2--按某某查找*\n"
\t\t*3--按查找*\n"
\t\t*4--删除信息*\n"
\t\t*5--显示信息*\n"
\t\t*6--修改信息*\n"
\t\t*0--退出系统*\n"
scanf("
%s"
switch(control)
case'
1'
:
size=Insert(pman,size);
break;
//插入新的通讯录
case'
2'
S_asname(pman,size);
//按某某查找
3'
S_astel(pman,size);
//按查找
4'
Delete(pman,size);
//删除信息
5'
Display(pman,size);
//显示所有信息
6'
Modify(pman,size);
//修改信息
0'
**************谢谢使用!
再见!
**************\n"
//退出系统
return0;
default:
**********输入数字有误,请重新输入**********\n"
}
2、插入模块
此模块为插入信息模块,插入后再调用保存函数来保存所插入的数据,支持多条信息的插入。
intInsert(Man*pMan,intSize)//插入模块
inti,n;
\t\t***********请输入要插入数据的个数.************\n"
%d"
n);
for(i=0;
i<
n;
i++)//从键盘输入数据再写入文件
{printf("
您将要录入第%d条记录(共有%d条)\n"
i+1,n);
请输入某某:
\n"
pMan[Size+i].Name);
请输入工作单位:
pMan[Size+i].Depart);
请输入:
pMan[Size+i].TEL);
请输入Email地址:
pMan[Size+i].Email);
if(Save(pMan,Size+n))
\t\t***********恭喜!
数据插入成功!
else
\t\t***********操作失败,请稍后再试!
***********\n"
returnSize+n;
3、显示模块
此模块为显示所有记录,流程图如下:
voidDisplay(Man*pMan,intSize)//显示所有记录
inti;
\t人名\t工作单位\t\t地址\n"
\t************************************************************\n"
=Size;
i++,pMan++)//依次输出文件中的信息
\t%s\t\t%s\t%s\t%s\n"
pMan->
Name,pMan->
Depart,pMan->
TEL,pMan->
Email);
\t-----------------------------------------------------------\n"
4、查找模块
本模块分为按某某查找和按查找两个子模块。
4.1按某某查找模块,流程图如下:
voidS_asname(Man*pMan,intSize)//查找信息
inti=0;
charname[8];
\t\t***********请输入要查询信息的某某:
name);
while(i<
Size&
&
strcmp(pMan->
Name,name))//查找
pMan++;
i++;
if(!
Name,name))//找到后输出
\t\t***************查到的信息为:
***************\n"
\t*************************************************************\n"
\t\t***********抱歉,没有找到相关数据************\n"
4.2按查找模块,此模块与按某某查找模块相似,流程图略。
voidS_astel(Man*pMan,intSize)//按查找模块
chartel[12];
\t\t***********请输入要查询信息的:
************\n"
tel);
TEL,tel))//查找信息
TEL,tel))//输出找到的信息
\t\t****************查到的信息为:
****************\n"
\t*******************************************************\n"
\t\t************抱歉,没有找到相关数据************\n"
5、删除模块
此模块先利用查找模块找到所要删除的信息,然后根据用户的选择来确定是否删除信息,此种调用到Save函数。
其流程图如下:
voidDelete(Man*pMan,intSize)//删除信息
charname[8],control;
\t\t***********请输入要删除信息的某某:
Name,name))//同查找,找到后跳出
Name,name))//找到了,删除信息!
做出判断.
您要删除的信息为:
%s\t\t%s\t%s\t%s\n"
是否确认删除?
〔Y/N〕\n"
y'
pMan->
Name[0]='
\0'
Depart[0]='
TEL[0]='
Email[0]='
if(Save(pMan,Size))//将新信息写入文件
\t\t**************恭喜!
信息删除成功!
else
\t\t************操作失败,请稍后再试!
*************\n"
n'
信息未删除!
选择有误!
\t\t*********抱歉,没有找到相关信息!
*********\n"
\t\t******************************************\n"
6、修改模块
此模块先调用查找函数查找到所要修改的信息,然后用户根据需要来修改信息。
流程图如下:
voidModify(Man*pMan,intSize)//修改模块
voidDisplay();
chardepart[20];
chartel[12];
charemail[30];
\t\t************输入要修改信息的某某:
Name,name))//遍历数组,查找数据,假如查到跳出循环
i++;
Name,name))//如果找到,如此开始修改
请输入修改后的某某:
strcpy(pMan->
Name,name);
请输入修改后的工作单位:
depart);
Depart,depart);
请输入修改后的:
TEL,tel);
请输入修改后的地址:
email);
strcpy(pMan->
Email,email);
if(Save(pMan,Size))//将修改信息写入文件,并判断是否写入成功
信息修改成功!
\t\t*************操作失败,请稍后再试!
*************\n"
\t\t************抱歉,没有找到相关信息!
7、其他模块
structMan//定义结构体
charName[8];
//名字
charDepart[20];
//工作单位
charTEL[12];
//
charEmail[30];
};
intSave(Man*pMan,intSize)//把数据写入文件
FILE*out;
out=fopen("
info.txt"
"
w"
if(out==NULL)//判断文件打开成功与否
\t\t************文件info.txt打开失败!
Size;
i++,pMan++)//打开成功,依次写入文件
fprintf(out,"
%s\t%s\t%s\t%s\n"
fclose(out);
return1;
intScan(Man*pMan)//从文本中读取数据
\t\t**********正在读取文件信息,请稍后!
FILE*in=fopen("
r"
if(in==NULL)//判断文件是否打开成功
\t\t***********文件info.txt打开失败!
!
feof(in);
i++,pMan++)//打开成功后一一读取,直到读完为止
fscanf(in,"
%s%s%s%s"
fclose(in);
\t\t*************文件数据读入成功!
return(i-1);
7.4getch()函数
voidgetch()
charstop;
\n确认?
(按任意键并回车返回!
)\n"
getchar();
stop);
return;
四、上机操作
〕
namedepartphoneemail
2、要插入的信息
3、各模块功能的实现
〔1〕窗口的初始化
〔2〕主菜单
〔3〕显示所有信息
〔4〕插入信息
第一条
第二条
(6)按某某查找模块
(7)按查找模块
(8)删除没有的信息
删除已有信息
取消删除
确认删除
〔9〕退出系统
五、实习心得
在教师的带领下进展了C语言程序实践学习。
在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。
在这之前,我们已经对C语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在学习了解的X围,对里面的好多东西还是很陌生,并不是很熟练,有着许多欠缺,更多的在运用起来的时候还是感到很不好动手。
C语言是需要有一定根底、而且动手能力强的学科。
上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力,这些都必须通过充分的实际上机操作才能完成。
课堂上许多关于C语言的语法规如此,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用C语言这个工具解决实际问题,又必须掌握它。
通过屡次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的根底上就会自然而然地掌握C语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识,而且在设计的时候学要系统的知识,也是一个较大的挑战,某一方面知识的欠缺都将影响到整个程序的设计。
这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。
相信对以后初步掌握开发一个小型实用系统的根本方法,学会调试一个比拟长程序的根本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进展程序设计的能力。
我认为,这次实习对于我是非常有意义的,对我个人的影响比拟大,对我的动手能力有了很大的提高。
在体会到程序成功后的快乐后,发现自己也逐步喜欢上了这门语言,对以后的专业知识的学习也会很有帮助。
最后感谢在实习过程中帮助过我的教师和同学,正是你们的帮助才有了这次实习的成功!
六、源程序
#include<
stdio.h>
string.h>
for(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 数据结构 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)