南航c语言课程设计报告电话簿管理系统Word格式.docx
- 文档编号:16457438
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:15.97KB
南航c语言课程设计报告电话簿管理系统Word格式.docx
《南航c语言课程设计报告电话簿管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《南航c语言课程设计报告电话簿管理系统Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
TeleBook*Delete_a_record(TeleBook*head);
TeleBook*Query(TeleBook*head,char*num);
voidQuery_a_record(TeleBook*head);
TeleBook*AddfromText(TeleBook*head,char*filename);
voidWritertoText(TeleBook*head,char*filename);
voidQuit(TeleBook*head);
TeleBook*DeleteSame(TeleBook*head);
intmenu_select()
{charc;
do{
system("
cls"
);
printf("
1.CreateList\n"
2.DisplayAllRecord\n"
3.InsertaReacord\n"
4.DeleteaReacord\n"
5.Query\n"
6.AddRecordsfromaTextFile\n"
7.WritetoaTextFile\n"
8.DeletetheSameRecord\n"
0.Quit\n"
Giveyourchoice(0-8):
\n"
c=getchar();
}
while(c<
'
0'
||c>
8'
return(c-'
TeleBook*Create()
{TeleBook*s,*head=NULL;
charc='
Y'
;
createanincreasinglist...\n"
pleaseinputnum,name,phonenum,email\n"
while(c=='
||c=='
y'
)
{s=(TeleBook*)malloc(sizeof(TeleBook));
pause"
gets(s->
num);
name);
phonenum);
email);
head=Insert(head,s);
Doyouwanttocontinuetoinput:
(Y/N)?
}
return(head);
voidDisplay(TeleBook*head)
{TeleBook*p;
inti=0;
p=head;
outputlist:
\n"
num\tname\tphonenum\temail\n"
while(p!
=NULL)
{printf("
%s\t%s\t%s\t%s\n"
p->
num,p->
name,p->
phonenum,p->
p=p->
next;
if(++i%10==0)
TeleBook*Insert(TeleBook*head,TeleBook*s)
{TeleBook*p1,*p2;
if(head==NULL)
{head=s;
s->
next=NULL;
p2=p1=head;
while(strcmp(s->
num,p1->
num)>
0&
&
p1->
next!
{p2=p1;
p1=p1->
if(strcmp(s->
num)<
=0)
{s->
next=p1;
if(head==p1)head=s;
elsep2->
next=s;
else{p1->
s->
TeleBook*Insert_a_record(TeleBook*head)
p=(TeleBook*)malloc(sizeof(TeleBook));
PleaseinputthenewNum,Name,Phonenum,Email\n"
getchar();
gets(p->
head=Insert(head,p);
Insertsuccess!
!
%s\n%s\n%s\n%s\n"
TeleBook*Delete(TeleBook*head,char*num)
Listisnull\n"
);
return(NULL);
p1=head;
while(strcmp(p1->
num,num)!
=0&
if(strcmp(p1->
num,num)==0)
{if(p1==head)head=p1->
next=p1->
Thenum%sisdeleted.\n"
p1->
free(p1);
else
Thenum%sisnotfound.\n"
num);
TeleBook*Delete_a_record(TeleBook*head)
charnum[20];
Doyouwanttodelete?
(y/n)\n"
if(c=='
pleaseinputnum=\n"
gets(num);
head=Delete(head,num);
deletesuccess!
TeleBook*Query(TeleBook*head,char*num)
{if(strcmp(p->
num,num)==0)return(p);
voidQuery_a_record(TeleBook*head)
{charnum[10];
TeleBook*p;
Pleaseinputthenumyouwanttosearch\n"
p=Query(head,num);
if(p==NULL)printf("
Fail!
SearchSuccess!
Num:
%s\nName:
%s\nPhonenum:
%s\nEmail:
%s\n"
TeleBook*AddfromText(TeleBook*head,char*filename)
{FILE*fp;
Pleaseinputthefilenameyouwant.....\n"
gets(filename);
fp=fopen(filename,"
r"
if(fp==NULL)
Can'
topenthefile!
exit
(1);
while(feof(fp)==0)
{TeleBook*s;
s=(TeleBook*)malloc(sizeof(TeleBook));
fscanf(fp,"
%s%s%s%s"
s->
num,s->
name,s->
phonenum,s->
fclose(fp);
Addsuccess\n"
voidWritertoText(TeleBook*head,char*filename)
FILE*fp;
Pleaseinputthefilenameyouwanttooutput.....\n"
if((fp=fopen(filename,"
w"
))==NULL)
topen"
exit(0);
Outputlist:
{fprintf(fp,"
WriteSuccessful!
voidQuit(TeleBook*head)
charc;
Doyouwanttoexit?
(YorN)\n"
{while(head!
{p=head;
head=head->
free(p);
TeleBook*DeleteSame(TeleBook*head)
TeleBook*p1,*p2;
for(p=head;
p!
=NULL;
p=p->
next)
for(p2=p,p1=p->
p1!
p2=p1,p1=p1->
{if(strcmp(p->
name,p1->
name)==0&
strcmp(p->
phonenum,p1->
phonenum)==0&
email,p1->
email)==0)
{p2->
DeleteSuccess\n"
voidmain()
{TeleBook*head=NULL;
\t******TeleBook*******\n"
for(;
{switch(menu_select())
{case1:
\tCreateList\n"
head=Create();
break;
case2:
\tDisplayAllRecord\n"
Display(head);
case3:
\tInsertaReacord\n"
head=Insert_a_record(head);
case4:
\tDeleteaReacord\n"
head=Delete_a_record(head);
case5:
\tQuery\n"
Query_a_record(head);
case6:
\tAddRecordsfromaTextFile\n"
head=AddfromText(head,"
filename"
case7:
\tWritetoaTextFile\n"
WritertoText(head,"
case8:
\tDeletetheSameRecord\n"
head=DeleteSame(head);
case0:
Goodbye!
Quit(head);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南航 语言 课程设计 报告 电话簿 管理 系统