C语言课程设计通讯录.docx

上传人:b****7 文档编号:9214776 上传时间:2023-02-03 格式:DOCX 页数:8 大小:14.85KB
下载 相关 举报
C语言课程设计通讯录.docx_第1页
第1页 / 共8页
C语言课程设计通讯录.docx_第2页
第2页 / 共8页
C语言课程设计通讯录.docx_第3页
第3页 / 共8页
C语言课程设计通讯录.docx_第4页
第4页 / 共8页
C语言课程设计通讯录.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C语言课程设计通讯录.docx

《C语言课程设计通讯录.docx》由会员分享,可在线阅读,更多相关《C语言课程设计通讯录.docx(8页珍藏版)》请在冰豆网上搜索。

C语言课程设计通讯录.docx

C语言课程设计通讯录

#include

#include

structperson

{

charname[8];

chartel[15];

charaddr[50];

};

charfilename[20];

FILE*fp;

voidcreat();

voidoutput();

voidsearch();

voidappend();

voidmodify();

voiddeleted();

intmain()

{

intm;

creat();

while

(1)

{

printf("\n\n添加,请按1");

printf("\n查找,请按2");

printf("\n修改,请按3");

printf("\n删除,请按4");

printf("\n输出,请按5");

printf("\n退出,请按0\n");

scanf("%d",&m);

if(m>=0&&m<=5)

{

switch(m)

{

case1:

append();

break;

case2:

search();

break;

case3:

modify();

break;

case4:

deleted();

break;

case5:

output();

break;

case0:

break;

}

printf("\n\n操作完毕,请再次选择!

");

}

else

printf("\n\n选择错误,请再次选择!

");

}

return0;}

voidcreat()

{

structpersonone;

longs1;

printf("\n请输入通讯簿名:

");

scanf("%s",filename);

if((fp=fopen(filename,"w"))==NULL)

{

printf("\n不能建立通讯簿!

");

}

fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话号码","住址");

printf("\n请输入姓名、电话号码及住址(以0结束)\n");

scanf("%s",one.name);

while(strcmp(one.name,"0"))

{

scanf("%s%s",one.tel,one.addr);

fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);

scanf("%s",one.name);

}

fclose(fp);

}

voidoutput()

{

structpersonone;

if((fp=fopen(filename,"r"))==NULL)

{

printf("\n不能打开通讯簿!

");

}

printf("\n\n%20s\n","通讯簿");

while(!

feof(fp))

{

fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);

printf("%-10s%-20s%-50s",one.name,one.tel,one.addr);

}

fclose(fp);

}

voidappend()

{

structpersonone;

if((fp=fopen(filename,"a"))==NULL)

{

printf("\n不能打开通讯簿!

");

}

printf("\n请输入添加的姓名、电话号码及住址\n");

scanf("%s%s%s",one.name,one.tel,one.addr);

fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);

fclose(fp);

}

voidsearch()

{

intk=0;

charnamekey[8];

structpersonone;

printf("\n请输入姓名:

");

scanf("%s",namekey);

if((fp=fopen(filename,"rb"))==NULL)

{

printf("\n不能打开通讯簿!

");

}

while(!

feof(fp))

{

fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);

if(!

strcmp(namekey,one.name))

{

printf("\n\n已查到,记录为:

");

printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);

k=1;

}

}

if(!

k)

printf("\n\n对不起,通讯簿中没有此人的记录。

");

fclose(fp);

}

voidmodify()

{

intm,k=0;

longoffset;

charnamekey[8];

structpersonone;

printf("\n请输入姓名:

");

scanf("%s",namekey);

if((fp=fopen(filename,"r+"))==NULL)

{

printf("\n不能打开通讯簿!

");

}

while(!

feof(fp))

{

offset=ftell(fp);

fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);

if(!

strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为:

");

printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);

printf("\n请输入新姓名、电话号码及住址:

");

scanf("%s%s%s",one.name,one.tel,one.addr);

fseek(fp,offset,SEEK_SET);

printf("%ld",ftell(fp));

fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr);

}

else

printf("\n对不起,通讯簿中没有此人的记录。

");

fclose(fp);

}

voiddeleted()

{

intm,k=0,flag;

longoffset1,offset2;

charnamekey[8],valid[4];

structpersonone;

printf("\n请输入姓名:

");

scanf("%s",namekey);

if((fp=fopen(filename,"r+"))==NULL)

{

printf("\n不能打开通讯簿!

");

}

while(!

feof(fp))

{

offset1=ftell(fp);

fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr);

if(!

strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为");

printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr);

printf("\n确实要删除,按1;不删除,按0:

");

scanf("%d",&m);

if(m)

{

fseek(fp,offset1,SEEK_SET);

fprintf(fp,"%-10s%-20s%-50s\n","","","");

}

}

else

printf("\n对不起,通讯簿中没有此人的记录。

");

fclose(fp);

}

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1