C语言编程通讯录.docx

上传人:b****0 文档编号:17926838 上传时间:2023-08-05 格式:DOCX 页数:15 大小:16.92KB
下载 相关 举报
C语言编程通讯录.docx_第1页
第1页 / 共15页
C语言编程通讯录.docx_第2页
第2页 / 共15页
C语言编程通讯录.docx_第3页
第3页 / 共15页
C语言编程通讯录.docx_第4页
第4页 / 共15页
C语言编程通讯录.docx_第5页
第5页 / 共15页
C语言编程通讯录.docx_第6页
第6页 / 共15页
C语言编程通讯录.docx_第7页
第7页 / 共15页
C语言编程通讯录.docx_第8页
第8页 / 共15页
C语言编程通讯录.docx_第9页
第9页 / 共15页
C语言编程通讯录.docx_第10页
第10页 / 共15页
C语言编程通讯录.docx_第11页
第11页 / 共15页
C语言编程通讯录.docx_第12页
第12页 / 共15页
C语言编程通讯录.docx_第13页
第13页 / 共15页
C语言编程通讯录.docx_第14页
第14页 / 共15页
C语言编程通讯录.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言编程通讯录.docx

《C语言编程通讯录.docx》由会员分享,可在线阅读,更多相关《C语言编程通讯录.docx(15页珍藏版)》请在冰点文库上搜索。

C语言编程通讯录.docx

C语言编程通讯录

C语言编程-通讯录

#include/*字符函数和字符串函数*/

#include/*字符模式函数(调用getch()函数)*/

#include/*输入输出函数*/

inti;

structfriend/*电子通讯录结构定义*/

{

charnum[5];/*编号*/

charname[11];/*名字*/

charsex[2];/*性别*/

charphone[12];/*电话*/

charaddress[26];/*地址*/

charpost_num[11];/*邮编*/

}friends[50];

FILE*fp;

voidData_load()/*数据载入函数*/

{intj;

fp=fopen("friend.txt","r+");/*打开文件friend.txt*/

if(fp==NULL)/*判断是否存在friend.txt,如果不存在则创建*/

{fp=fopen("friend.txt","w");

i=0;

}

else

{for(i=0;i<50;i++)

{j=fgetc(fp);

if(j==EOF)/*判断是否到了文件尾*/

return;

fseek(fp,i*sizeof(structfriend),0);

fread(&friends[i],sizeof(structfriend),1,fp);/*从文件中读取一条记录*/

}

}

}

voidMenu_Select()         /*显示菜单界面*/

{

printf("\n");

printf("\n");

printf("\n");

printf("AddressBookManagementSystem\n");

printf("\n");

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

printf("1.AddressbookdataEntry\n");/*数据输入*/

printf("2.AddressBookdataShow\n");/*数据显示*/

printf("3.AddressBookdataSearch\n");/*数据查找*/

printf("4.AddressBookdataAlter\n");/*数据修改*/

printf("5.AddressBookdataInsert\n");/*数据插入*/

printf("6.AddressBookdataDelete\n");/*数据删除*/

printf("7.AddressBookdataSave\n");/*数据保存*/

printf("0.Exit\n");/*退出*/

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

printf("Pleasechioce0-7\n\n");

}

intData_check(intk,charID[5])/*检查通讯录中是否存在相同ID或ID输入格式错误*/

{

intj;

if(ID[0]=='0')

k=1;

for(j=0;ID[j]!

='\0';j++)

{

if(ID[j]>'9'||ID[j]<'0')

k++;

}

for(j=0;j

{

if(strcmp(ID,friends[j].num)==0)

k++;

}

returnk;

}

voidData_Input()/*数据输入函数*/

{

charyes_no='1';

charID[5];

intk=0;

if(i>=50)

printf("\n\nStoragefull!

\n\n");

if(i<50)

{

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

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

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

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

}

for(;i<50;i++)

{

do

{

switch(yes_no)

{

case'1':

/*如果输入为'1',则进行数据输入*/

printf("******No.(4)Name(10)Sex(M/F)Phone(11)Address(25)Zip_Code(10)*******\n");

scanf("%s%s%s%s%s%s",ID,friends[i].name,friends[i].sex,friends[i].phone,friends[i].address,friends[i].post_num);

Data_check(k,ID);

while(Data_check(k,ID)>0)/*检查输入的ID是否已存在,如果存在重新输入*/

{

printf("TheNo.alreadyexistsOrTheNo.isn'tcorrect,pleasere-enter\n");

scanf("%s",ID);

Data_check(k,ID);

}

strcpy(friends[i].num,ID);

if(i<49)

{

printf("\n\nWhethertobecontinue?

Y

(1)/N(0)\n\n");

yes_no=getch();

}

if(i>=49)

printf("\n\nStoragefull!

\n\n");

break;

case'0':

break;

default:

yes_no=getch();

}

}while(yes_no!

='1'&&yes_no!

='0');/*如果输入的不是'1'或'0'则重新输入*/

if(yes_no=='0')/*如果输入'0'则退出输入函数*/

{

i++;

break;

}

}

}

intThe_Size(chara[],charb[])/*比较两个ID的大小*/

{

intj,t;

if((j=strlen(a)-strlen(b))>0)t=1;

if((j=strlen(a)-strlen(b))<0)t=-1;

if((j=strlen(a)-strlen(b))==0)

{

if(strcmp(a,b)>0)t=1;

if(strcmp(a,b)<0)t=-1;

if(strcmp(a,b)==0)t=0;

}

returnt;

}

voidData_Show()/*数据输出函数*/

{intj,k;

charm;

structfriendt;

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

printf("No.NameSexPhoneAddressZip_Code\n");

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

for(j=0;j

{for(k=0;k

{

if(The_Size(friends[k].num,friends[k+1].num)==1)

{

t=friends[k];

friends[k]=friends[k+1];

friends[k+1]=t;

}

}

}

for(j=0;j

{

printf("%4s%10s%4s%11s%20s%10s\n",friends[j].num,friends[j].name,friends[j].sex,friends[j].phone,friends[j].address,friends[j].post_num);

m=getch();

if(m=='')

break;

}

printf("\n\nThereare%ddatainthebook.\n\n",i);

}

voidData_Search()/*数据查找函数*/

{

chark;

intj,a,b;

charID[5];

charNAME[11];

printf("SearchbyNo.:

1\n");

printf("Searchbyname:

2\n");

k=getch();

switch(k)

{

case'1':

/*按ID查找*/

a=0;

printf("\n\nPleaseentertheNo.\n\n");

scanf("%s",ID);

for(j=0;j

{

if(strcmp(ID,friends[j].num)==0)

{

a++;

printf("No.NameSexPhoneAddressZip_Code\n");

printf("%4s%10s%4s%11s%20s%10s\n",friends[j].num,friends[j].name,friends[j].sex,friends[j].phone,friends[j].address,friends[j].post_num);

}

}

if(a==0)

printf("DonothavetofindtheNo.!

\n\n");

break;

case'2':

/*按姓名查找*/

b=0;

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

scanf("%s",NAME);

for(j=0;j

{

if(strcmp(NAME,friends[j].name)==0)

{

b++;

printf("No.NameSexPhoneAddressZip_Code\n");

printf("%4s%10s%4s%11s%20s%10s\n",friends[j].num,friends[j].name,friends[j].sex,friends[j].phone,friends[j].address,friends[j].post_num);

}

}

if(b==0)

printf("DonothavetofindtheName!

\n\n");

break;

default:

printf("\n\nError!

\n");

break;

}

}

voidData_Insert()/*数据插入函数*/

{if(i>=50)

printf("\n\nStoragefull!

\n\n");

if(i<50)

{

charID[5];

intk=0;

printf("PleaseentertheNo.thatyouwanttoinsert.\n");

scanf("%s",ID);

Data_check(k,ID);

printf("%d",Data_check(k,ID));/*检查所需插入的ID是否已存在,如果存在重新输入*/

while(Data_check(k,ID)>0)

{

printf("TheNo.alreadyexistsOrTheNo.isn'tcorrect,pleasere-enter\n");

scanf("%s",ID);

Data_check(k,ID);

}

strcpy(friends[i].num,ID);/*插入数据*/

printf("******Name(10)Sex(M/F)Phone(11)Address(30)Zip_Code(10)*******\n");scanf("%s%s%s%s%s",friends[i].name,friends[i].sex,friends[i].phone,friends[i].address,friends[i].post_num);

i++;

}

}

voidData_Delete()/*数据删除函数*/

{

intk,t=0;

charID[5];

printf("\n\nPleaseentertheNo.needtobedeleted\n\n");

scanf("%s",ID);

for(k=0;k

{

if(strcmp(friends[k].num,ID)==0)

{

t++;

break;

}

}

if(t==0)

printf("\n\nTheNo.doesnotExist!

\n\n");

if(t>0)

{

for(;k

{

friends[k]=friends[k+1];

}

printf("\n\nDeletesuccess!

\n\n");

i=i-1;

}

}

voidData_Alter()/*修改函数*/

{

intk,t=0;

charID[5];

printf("\n\nPleaseentertheNo.tobeAmended\n\n");

scanf("%s",ID);

for(k=0;k

{

if(strcmp(friends[k].num,ID)==0)

{

t++;

break;

}

}

if(t==0)

printf("\n\nTheNo.doesnotExist!

\n\n");

if(t>0)

{

strcpy(friends[k].num,ID);

printf("******Name(10)Sex(M/F)Phone(11)Address(30)Zip_Code(10)*******\n");

scanf("%s%s%s%s%s",friends[k].name,friends[k].sex,friends[k].phone,friends[k].address,friends[k].post_num);

printf("\n\nAlterSuccess!

\n\n");

}

}

voidData_Save()/*数据保存函数*/

{

intj;

fp=fopen("friend.txt","w");

for(j=0;j<=i-1;j++)

{

fwrite(&friends[j],sizeof(structfriend),1,fp);

}

printf("\n\nSaveSuccess!

\n\n");

}

voidExit()/*退出函数*/

{

charflag;

printf("SaveorNot?

(Y/N)\n");/*判断是否保存*/

do{

flag=getch();

switch(flag)

{

case'Y':

/*保存*/

Data_Save();

break;

case'y':

/*保存*/

Data_Save();

break;

case'N':

break;

case'n':

break;

}

}while(flag!

='Y'&&flag!

='y'&&flag!

='N'&&flag!

='n');

}

voidmain()

{charchoose,yes_no;

Data_load();

do

{

Menu_Select();

choose=getch();

switch(choose)

{

case'1':

Data_Input();break;/*输入*/

case'2':

Data_Show();break;/*显示*/

case'3':

Data_Search();break;/*查找*/

case'4':

Data_Alter();break;/*修改*/

case'5':

Data_Insert();break;/*插入*/

case'6':

Data_Delete();break;/*删除*/

case'7':

Data_Save();break;/*保存*/

case'0':

Exit();break;/*退出*/

default:

printf("Error!

\n");

}

if(choose=='0')

break;

printf("Wouldyouliketobecontinue?

(Y/N)\n");

do

{

yes_no=getch();

}while(yes_no!

='Y'&&yes_no!

='y'&&yes_no!

='N'&&yes_no!

='n');

if(yes_no=='N'||yes_no=='n')

{

Exit();

break;

}

}while(yes_no!

='Y'||yes_no!

='y');

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

当前位置:首页 > 医药卫生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2