手机通讯录源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

#define N 15 //最大容量为15

typedef struct //定义一个结构

{

char name[10];

char haoma[15];

char leibie[10];

char dizhi[20];

}ren;

//菜单

void menu() //目录

{

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(" ~~请选择相应的功能~~:");

}

void input() //查询

{

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

ren ry;

FILE *fp;

char leibie[10];

system("cls");

printf("\n 输入要查人员的类别: ");scanf("%s",leibie);//要查询的类别查找失败

if((fp=fopen("ren.dat","rb"))==NULL) {printf("can't open file!\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.haoma,ry.leibie,ry.dizhi);

}

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

}

if(help==0){

printf(" 查找失败!!!");

}

}

// else printf(" 查找失败!!!");

fclose(fp);

getch();

}

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

//添加

void search()

{

int n;

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

ren ry,s; // 定义两个ren结构体的量 if((fp=fopen("ren.dat","ab+"))==NULL)

{printf("can't open file!\n");exit(0);}

printf("\n录入格式类别。当输入为#结束录入\n");

while(1)

{ printf("请输入:");

scanf("%s",);

if(strcmp(,"#")==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(,)==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(); //接受一个输入

}

void modi() //拨号

{ ren ry;

FILE *fp;

char name[10];

system("cls");

printf("\n 输入要拨人员的: ");scanf("%s",name);

if((fp=fopen("ren.dat","rb"))==NULL) {printf("can't open file!\n");exit(0);}

while(!feof(fp))

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

if(strcmp(,name)==0)

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

break;

}

}

相关文档
最新文档