手机通讯录源代码.docx

上传人:b****6 文档编号:3113707 上传时间:2022-11-17 格式:DOCX 页数:8 大小:15.99KB
下载 相关 举报
手机通讯录源代码.docx_第1页
第1页 / 共8页
手机通讯录源代码.docx_第2页
第2页 / 共8页
手机通讯录源代码.docx_第3页
第3页 / 共8页
手机通讯录源代码.docx_第4页
第4页 / 共8页
手机通讯录源代码.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

手机通讯录源代码.docx

《手机通讯录源代码.docx》由会员分享,可在线阅读,更多相关《手机通讯录源代码.docx(8页珍藏版)》请在冰豆网上搜索。

手机通讯录源代码.docx

手机通讯录源代码

手机通讯录源代码

#include

#include

#include

#include

#defineN15//最大容量为15

typedefstruct//定义一个结构

{

charname[10];

charhaoma[15];

charleibie[10];

chardizhi[20];

}ren;

//菜单

voidmenu()//目录

{

system("cls");//清屏

printf("#########欢迎使用手机通讯录#########\n");

printf("\n");

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

printf("1.~~号码查询~~\n");

printf("2.~~号码添加~~\n");

printf("3.~~号码拨号~~\n");

printf("4.~~号码修改~~\n");

printf("5.~~号码删除~~\n");

printf("0.~~退出~~\n");

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

printf("\n");

printf("个人通讯录\n");

printf("\n");

printf("~~请选择相应的功能~~:

");

}

voidinput()//查询

{

inthelp=0;//帮助指令,如果查找所找的类别中没有数据,显示

renry;

FILE*fp;

charleibie[10];

system("cls");

printf("\n输入要查人员的类别:

");scanf("%s",leibie);//要查询的类别查找失败

if((fp=fopen("ren.dat","rb"))==NULL){printf("can'topenfile!

\n");exit(0);}

fread(&ry,sizeof(ren),1,fp);

if(!

feof(fp))

{printf("人员的信息如下:

\n");

printf("说明:

(A办公类B个人类C商务类)");

printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱");

while(!

feof(fp))

{

if(strcmp(ry.leibie,leibie)==0)//若为该类别则输出

{help++;

printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi);

}

fread(&ry,sizeof(ren),1,fp);

}

if(help==0){

printf("查找失败!

!

!

");

}

}

//elseprintf("查找失败!

!

!

");

fclose(fp);

getch();

}

//修改:

输入人员的姓名,查找该人员,若找到则修改该人员的信息,并显示修改前后的结果;

//号码添加

voidsearch()

{

intn;

FILE*fp;//定义文件指针

renry,s;//定义两个ren结构体的量

if((fp=fopen("ren.dat","ab+"))==NULL)

{printf("can'topenfile!

\n");exit(0);}

printf("\n录入格式姓名号码类别邮箱。

当输入姓名为#结束录入\n");

while

(1)

{printf("请输入姓名:

");

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

if(strcmp(ry.name,"#")==0)break;//如果输入#则退出添加

printf("请输入电话号码:

");

scanf("%s",ry.haoma);

printf("请输入类别(A办公类B个人类C商务类):

");

scanf("%s",ry.leibie);

printf("请输入邮箱地址:

");

scanf("%s",ry.dizhi);

fseek(fp,0,0);//指针定位到文件开始位置

fread(&s,sizeof(ren),1,fp);

n=0;

while(!

feof(fp))

{

n++;

if(strcmp(s.haoma,ry.haoma)==0)

{printf("号码已经存在,不能记录.\n");break;}//遇到有相同的号码

if(strcmp(s.name,ry.name)==0)

{printf("姓名已经存在,不能记录.\n");break;}//遇到有相同的姓名

fread(&s,sizeof(ren),1,fp);

}

//printf("%d",n);

if(n>N){

break;//内存已满,不能记录.

}

if(feof(fp))//读到自后也没有相同的号码

fwrite(&ry,sizeof(ren),1,fp);//将信息写入文件

}

fclose(fp);//关闭文件

getchar();//接受一个输入

}

voidmodi()//拨号

{renry;

FILE*fp;

charname[10];

system("cls");

printf("\n输入要拨人员的姓名:

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

if((fp=fopen("ren.dat","rb"))==NULL){printf("can'topenfile!

\n");exit(0);}

while(!

feof(fp))

{fread(&ry,sizeof(ren),1,fp);

if(strcmp(ry.name,name)==0)

{printf("\n\a\a\a\a\a\a%15s\a\a\a\a\a\n",ry.haoma);//输出号码和声音

break;

}

}

if(feof(fp))printf("\n\n拨号失败!

!

!

");

fclose(fp);

getch();

}

voiddele()

{renry;

FILE*fp;

charname[10];

system("cls");

if((fp=fopen("ren.dat","rb+"))==NULL){printf("can'topenfile!

\n");exit(0);}

if(!

feof(fp))

{printf("修改前全部人员的信息如下:

\n");

printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱");

fread(&ry,sizeof(ren),1,fp);

while(!

feof(fp))

{

printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi);

fread(&ry,sizeof(ren),1,fp);

}

}

printf("\n输入要修改人员的姓名:

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

if((fp=fopen("ren.dat","rb+"))==NULL){printf("can'topenfile!

\n");exit(0);}

while(!

feof(fp))

{fread(&ry,sizeof(ren),1,fp);

if(strcmp(ry.name,name)==0)

{printf("修改前人员的信息如下:

\n");

printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱");

printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi);

printf("\n请输入该人的号码:

");scanf("%s",ry.haoma);

printf("\n类别:

");scanf("%s",ry.leibie);//新信息输入

printf("\n邮箱:

");scanf("%s",ry.dizhi);

break;//修改完毕退出

}

}

if(!

feof(fp))

{

printf("\n修改后的人的信息如下:

\n");

printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱");

printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi);

fseek(fp,sizeof(ren),1);//指针向前一位定位

fwrite(&ry,sizeof(ren),1,fp);

}

else

printf("\n\n此人不存在,修改失败!

!

");

fclose(fp);

getch();

}

//删除:

输入人员姓名,若该人员存在,则删除,并显示删除后余下的人员的信息

voidbohao()

{renry[N];

FILE*fp;

charname[10];

inti,len,k=-1;

system("cls");

printf("\n输入要删除的人员姓名:

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

i=0;

if((fp=fopen("ren.dat","rb+"))==NULL){printf("can'topenfile!

\n");exit(0);}

while(!

feof(fp))

{fread(&ry[i],sizeof(ren),1,fp);

if(feof(fp))break;

if(strcmp(ry[i].name,name)==0)k=i;

i++;

}

fclose(fp);

//以下是删除后重新写文件

len=i;

if(k>=0)

{if((fp=fopen("ren.dat","wb+"))==NULL){printf("can'topenfile!

\n");exit(0);}

for(i=0;i

{if(i==k)continue;

fwrite(&ry[i],sizeof(ren),1,fp);

}

fclose(fp);printf("\n\n删除成功!

!

!

\n");

}

elseprintf("\n\n删除失败!

!

!

\n");

getch();

}

//菜单选择

voidchoice()

{

charch;

while

(1)

{

menu();//显示菜单

ch=getch();//选择菜单

if(ch=='0')brea

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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