C语言通讯录课程设计需求分析1Word下载.docx
- 文档编号:16152275
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:25
- 大小:19.82KB
C语言通讯录课程设计需求分析1Word下载.docx
《C语言通讯录课程设计需求分析1Word下载.docx》由会员分享,可在线阅读,更多相关《C语言通讯录课程设计需求分析1Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
建立通讯者信息,包括姓名、国家、城市、街道、邮编、电话;
添加新的通讯者信息;
按姓名查询某个通讯者的信息;
按姓名删除某个通讯者的信息;
输出显示通讯录的所有信息;
将数据以文件的形式存储在磁盘上;
在下次操作时课从磁盘中读取原保存数据。
3概要设计
各模块流程图
(1)main()
开始
Menu_select
12345670
通讯录链表的查询
通讯录链表的插入
通讯录链表的建立
通讯录链表的删除
通讯录链表的存盘
通讯录链表的装入
退出通讯录系统
通讯录链表的输出
BreakBreakBreakBreakBreakBreakBreak
结束
(2)menu_select()
输入要选择的序号
序号在1~7之间
真假
清屏并转入所选函数
输入完成
输入错误
(3)create()
输入所选序号
清屏
flag=1
输入数据(姓名、国家、城市、街道、邮编、电话)
统计总分、平均分、名次=0
真
假
调用save()函数
(4)insert_node()
Break
插入成功!
结束
(5)search_list()
显示要查找内容
判断
输入要查找的姓名
调用函数search_list()
没有找到你要找的人!
(6)del_node()
输入要删除者的姓名
10
调用函数del_node()
没有要删除的通讯者!
通讯者已被删除!
(7)display_list()
输入所需序号
清屏
显示通讯录信息
(8)save()
退出
关闭文件
打开文件
数据写入文件
(9)load()
读出数据
4.详细设计
voidmain()
{
for(;
;
){
switch(menu_select())
{
case1:
head=create_list();
break;
case2:
insert_node(load(),p);
case3:
p=search_list(load());
if(p!
=NULL){
printf("
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━┳━━━━━━┓\n"
);
┃姓 名┃国家┃城市┃街道┃邮 编┃电话┃\n"
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━╋━━━━━━┫\n"
┃%-8s┃%-8s┃%-8s┃%-8s┃%-12s┃%-12s┃\n"
p->
data.name,p->
data.country,p->
data.city,p->
data.street,p->
data.eip,p->
data.phone);
┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━┻━━━━━━┛\n"
}
else
没有你要找的人!
\n"
getch();
case4:
del_node(load());
case5:
display_list(load());
case6:
save(head);
case7:
getch();
case0:
\t感谢您的使用!
return;
}
intmenu_select()
intsn;
system("
cls"
****************通讯录管理系统********************\n"
┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n"
┃1.通讯录链表的建立┃\n"
┣━━━━━━━━━━━━━━━━━━━━━━━━┫\n"
┃2.通讯者结点的插入┃\n"
┃3.通讯录链表的查询┃\n"
┃4.通讯者结点的删除┃\n"
┃5.通讯录链表的输出┃\n"
┃6.通讯录链表的存盘┃\n"
┃7.通讯录链表的装入┃\n"
┃0.退出通讯录管理系统┃\n"
┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n"
printf("
请选择操作0-7\n\n"
for(;
)
scanf("
%d"
&
sn);
if(sn<
0||sn>
7)
\t输入错误\n"
else
returnsn;
linklistcreate_list(void)
{linklisthead=(listnode*)malloc(sizeof(listnode));
listnode*p,*rear;
intflag=1;
*********************************************************************\n"
通讯信息的建立 \n"
rear=head;
while(flag==1)
p=(listnode*)malloc(sizeof(listnode));
%s%s%s%s%s%s"
rear->
next=p;
rear=p;
继续建表吗?
(1.是/0.不):
"
flag);
if(flag==1)
创建成功!
\n"
next=NULL;
returnhead;
voidinsert_node(linklisthead,listnode*p)
{listnode*p1,*p2;
通讯信息的追加 \n"
p1=head;
p2=p1->
next;
while(p2!
=NULL&
&
strcmp(p2->
data.eip)<
0)
p1=p2;
p2=p2->
p1->
p->
next=p2;
插入成功!
save(head);
listnode*search_list(linklisthead)
listnode*p;
charname[10];
通讯信息的查询 \n"
**********\n"
按姓名查询\n"
p=head->
请输入要查询者的姓名:
"
%s"
name);
while(p&
strcmp(p->
data.name,name)!
=0)
p=p->
returnp;
voiddel_node(linklisthead)
{charname[10];
intjx;
listnode*p,*q;
通讯信息的删除 \n"
请输入要删除者的姓名:
if(p==NULL){
没有要删除的通讯者!
:
printf("
真的要删除该结点吗?
(1.是/0.不):
jx);
if(jx==1){
q=head;
while(q!
q->
next!
=p)
q=q->
next=p->
free(p);
通讯者已被删除!
}save(head);
voiddisplay_list(linklisthead)
********************************************************************\n"
通讯链表的输出 \n"
while(p!
=NULL)
{printf("
}
voidsave(linklist*head)
{FILE*fp;
listnode*p;
charoutfile[50];
Enteroutfilename,d:
\\cjt\\ks1:
/*scanf("
outfile);
*/
if((fp=fopen("
d:
\\cjt\\ks1"
"
w"
))==NULL)
{printf("
打开文件失败!
exit
(1);
\n正在保存文件......\n"
p=head;
{fwrite(p,sizeof(listnode),1,fp);
fclose(fp);
保存成功!
listnode*load()
{listnode*p,*q,*head;
FILE*fp;
head=NULL;
r+"
while(!
feof(fp))
{q=(listnode*)malloc(sizeof(listnode));
if(fread(q,sizeof(listnode),1,fp)!
=1)
if(head==NULL){head=q;
p=head;
else{p->
next=q;
p=q;
p=q;
打开成功!
return(head);
程序清单
#include<
stdio.h>
string.h>
stdlib.h>
conio.h>
typedefstruct
charphone[13];
charstreet[14];
charcity[10];
chareip[9];
charcountry[10];
}datatype;
typedefstructnode
{datatypedata;
structnode*next;
}listnode;
typedeflistnode*linklist;
linklisthead;
listnode*p;
intmenu_select();
linklistcreate_list(void);
voidinsert_node(linklisthead,listnode*p);
listnode*search_list(linklisthead);
voiddel_node(linklisthead);
voiddisplay_list(linklisthead);
voidsave(linklist*head);
listnode*load();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 通讯录 课程设计 需求 分析