C语言通讯录管理系统完整代码_第1页
C语言通讯录管理系统完整代码_第2页
C语言通讯录管理系统完整代码_第3页
C语言通讯录管理系统完整代码_第4页
C语言通讯录管理系统完整代码_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第C语言通讯录管理系统完整代码本文实例为大家分享了C语言实现通讯录管理系统的具体代码,供大家参考,具体内容如下

设计内容:

设计一个通讯录管理系统,以实现以下功能:信息添加、查询、修改、删除、排序等功能。

设计要求:

1)每条信息至包含:姓名、电话、工作单位等信息

2)作为一个完整的系统,应具有友好的界面和较强的容错能力

#includestdio.h

#includestdlib.h

#includestring.h

#includewindows.h

#defineLENsizeof(structlist)

#defineDATAa[i].num,a[i].name,a[i].job,a[i].address

#defineFORMAT"\t\t

||

%-12d%-12s%-19s%-20s||\n"

voidin();

voidmenu();

voidsearch();

voiddel();

voidshow();

voidmodify();

voidinsert();

voidorder();

voidtotal();

structlist

intnum;

//号码

charname[15];

//姓名

charjob[30];

//工作单位

charaddress[30];

//地址

structlista[50];

voidmain()

system("color5e\n");

menu();

intn;

scanf("%d",

while(n)

{

switch(n)

{

case1:in();

break;

case2:search();

break;

case3:del();

break;

case4:modify();

break;

case5:insert();

break;

case6:order();

break;

case7:total();

break;

case8:show();

break;

default:break;

}

getch();

menu();//执行完后显示菜单

scanf("%d",

}

voidmenu()

system("cls");

printf("\n\n\n");

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

printf("\t\t\t\t\t************通讯录管理系统************\n");

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

printf("\t\t\t\t\t*

1.录入联系人信息

*\n");

printf("\t\t\t\t\t*

2.查找联系人信息

*\n");

printf("\t\t\t\t\t*

3.删除联系人信息

*\n");

printf("\t\t\t\t\t*

4.修改联系人信息

*\n");

printf("\t\t\t\t\t*

5.插入联系人信息

*\n");

printf("\t\t\t\t\t*

6.排序

*\n");

printf("\t\t\t\t\t*

7.统计联系人总数

*\n");

printf("\t\t\t\t\t*

8.显示所有联系人

*\n");

printf("\t\t\t\t\t*

0.退出系统

*\n");

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

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

printf("\t\t\t\t\t

请选择(0-8):");

voidin()

inti,m=0;

charch[2];

FILE*fp;

if((fp=fopen("data.txt","a+"))==NULL)

{

printf("\t\t

文件不存在!\n");

return;

}

while(!feof(fp))

{

if(fread(a[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

{

printf("\t\t

文件中没有记录!\n");

}

else

{

show();

}

if((fp=fopen("data.txt","a+"))==NULL)

{

printf("\t\t

文件不存在!\n");

return;

}

printf("\t\t

是否输入联系人信息(y/n):");

scanf("%s",ch);

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)

{

printf("\t\t

电话:");

scanf("%d",a[m].num);

for(i=0;ii++)

{

if(a[i].num==a[m].num)

{

printf("\t\t

此用户已经存在了,按任意键继续!");

getch();

fclose(fp);

return;

}

}

printf("\t\t

姓名:");

scanf("%s",a[m].name);

printf("\t\t

工作单位:");

scanf("%s",a[m].job);

printf("\t\t

地址:");

scanf("%s",a[m].address);

if(fwrite(a[m],LEN,1,fp)!=1)

{

printf("\t\t

不能保存");

getch();

}

else

{

printf("\t\t

%s已被保存!\n",a[m].name);

m++;

}

printf("\t\t

继续(y/n):");

scanf("%s",ch);

}

fclose(fp);

printf("\t\t

结束录入!\n");

voiddel()

show();

FILE*fp;

intnmb,i,j,m=0;

intt=1;

//判断是否正常结束

charch[2];

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("\t\t

\n文件不存在\n");

return;

}

while(!feof(fp))

{

if(fread(a[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

{

printf("\t\t

\n文件没有记录!\n");

return;

}

printf("\t\t

输入要删除的联系人的电话号码:");

scanf("%d",nmb);

for(i=0;ii++)

if(nmb==a[i].num)

{

printf("\t\t

找到这条记录是否删除(y/n):");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)

{

for(j=i+1;jj++)

a[j-1]=a[j];

m--;

if((fp=fopen("data.txt","w+"))==NULL)

{

printf("\t\t

文件不存在\n");

return;

}

for(j=0;jj++)

{

if(fwrite(a[j],LEN,1,fp)!=1)

{

printf("\t\t

无法写入文件!删除失败!");

getch();

}

}

fclose(fp);

printf("\t\t

删除成功");

}

else

{

fclose(fp);

printf("\t\t

找到了记录选择不删除");

}

t=0;

//标志找到该联系人

break;

}

if(t)

printf("\t\t

没有找到该联系人!\n");

voidmodify()

show();

FILE*fp;

inti=0,j=0,m=0,nmb;

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("\t\t

文件不存在\n");

return;

}

while(!feof(fp))

if(fread(a[m],LEN,1,fp)==1)

m++;

if(m==0)

{

printf("\t\t

文件中没有记录");

fclose(fp);

return;

}

printf("\t\t

请输入要修改的联系人的电话号码:");

scanf("%d",nmb);

for(i=0;ii++)

if(nmb==a[i].num)

//检索是否有要相应的联系人

{

printf("\t\t

找到该名联系人,将修改他的信息!\n");

printf("\t\t

电话:");

scanf("%d",a[i].num);

printf("\t\t

姓名:");

scanf("%s",a[i].name);

printf("\t\t

工作单位:");

scanf("%s",a[i].job);

printf("\t\t

住址:");

scanf("%s",a[i].address);

printf("\t\t

修改成功!");

if((fp=fopen("data.txt","w+"))==NULL)

{

printf("\t\t

不能打开");

return;

}

for(j=0;jj++)

//写入新的信息

if(fwrite(a[j],LEN,1,fp)!=1)

{

printf("\t\t

不能打开");

getch();

}

fclose(fp);

break;

}

if(i==m)

printf("\t\t

没有找到该名联系人");

voidsearch()

show();

FILE*fp;

intnmb,i,m=0;

if((fp=fopen("data.txt","r+"))==NULL)

{

fclose(fp);

printf("\n\t\t

文件不存在!\n");

return;

}

while(!feof(fp))

{

if(fread(a[m],LEN,1,fp)==1)

m++;

}

if(m==0)

{

fclose(fp);

printf("\n\t\t

文件没有记录!\n");

return;

}

printf("\n\t\t

请输入联系人的电话号码!:");

scanf("%d",nmb);

for(i=0;ii++)

if(nmb==a[i].num)

{

printf("\t\t

电话

姓名

工作单位

住址

\n");

printf(FORMAT,DATA);

break;

}

if(i==m)

printf("\t\t

没有找到记录!\n");

fclose(fp);

voidshow()

FILE*fp;

inti,m=0;

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("\n\t\t

文件不存在\n");

return;

}

while(!feof(fp))

{

if(fread(a[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

printf("\t\t

---------------------------------------------------------------------------\n");

printf("\t\t

||

电话

姓名

工作单位

住址

||\n");

for(i=0;ii++)

{

printf(FORMAT,DATA);

}

printf("\t\t

---------------------------------------------------------------------------\n");

voidinsert()

show();

FILE*fp;

inti,j,k,m=0,nmb;

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("\t\t

文件不存在!\n");

return;

}

while(!feof(fp))

if(fread(a[m],LEN,1,fp)==1)

m++;

if(m==0)

{

printf("\t\t

文件中没有记录!\n");

fclose(fp);

return;

}

printf("\t\t

请输入要插入哪个号码的位置之后:");

scanf("%d",nmb);

for(i=0;ii++)

if(nmb==a[i].num)

break;

if(m==i)

{

printf("\t\t

没有找到改电话号码");

fclose(fp);

return;

}

for(j=m-1;jj--)

a[j+1]=a[j];

printf("\t\t

请输入要插入的通讯录信息:\n");

printf("\t\t

电话:");

scanf("%d",nmb);

for(k=0;kk++)

if(a[k].num==nmb)

{

printf("\t\t

电话已经存在,请按任意键继续!");

getch();

fclose(fp);

return;

}

a[i+1].num=nmb;

printf("\t\t

姓名:");

scanf("%s",a[i+1].name);

printf("\t\t

工作:");

scanf("%s",a[i+1].job);

printf("\t\t

地址:");

scanf("%s",a[i+1].address);

printf("\t\t

插入成功,请输入任意键返回主界面!");

if((fp=fopen("data.txt","w+"))==NULL)

{

printf("\t\t

不能打开!");

return;

}

for(k=0;kk++)

if(fwrite(a[k],LEN,1,fp)!=1)

{

printf("\t\t

不能保存!");

getch();

}

fclose(fp);

voidorder()

FILE*fp;

structlistb;

inti=0,j=0,m=0;

printf("\n");

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("\t\t

文件不存在\n");

return;

}

while(!feof(fp))

if(fread(a[m],LEN,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论