#include <stdio.h>
#include <string.h>
#define max 100
void caidan()
{
printf("******选择功能*****\n");
printf("*******************\n");
printf("******1.预览*******\n");
printf("******2.新增*******\n");
printf("******3.删除*******\n");
printf("******4.查找*******\n");
printf("******5.退出*******\n");
printf("*******************\n");
}
struct tongxunxingxi //储存通讯录信息的结构体//
{
char xingming[10];
int nianlin;
char dianhua[20];
};
struct tongxunlu//通讯录//
{
struct tongxunxingxi tongxun[max-1];
int jishu;
};
void xinzeng(struct tongxunlu* b)
{
if((*b).jishu<=max)
{
printf("请输入姓名\n");
scanf("%s",&((*b).tongxun[(*b).jishu].xingming));
printf("请输入年龄\n");
scanf("%d",&((*b).tongxun[(*b).jishu].nianlin));
printf("请输入电话\n");
scanf("%s",&((*b).tongxun[(*b).jishu].dianhua));
(*b).jishu++;
printf("新增完成\n");
}
else
{
printf("数据满了\n");
}
}
void yunlan(struct tongxunlu* b)
{
int x = 0;
printf("姓 名 年龄 电话 \n");
for(x=0;x<(*b).jishu;x++)
{
printf("%s %d %s\n",(*b).tongxun[x].xingming,(*b).tongxun[x].nianlin,(*b).tongxun[x].dianhua);
}
}
void sanchu(struct tongxunlu* b,int e)
{
int d = 0;
for(d=e-1;d<(*b).jishu;d++)
{
(*b).tongxun[d]=(*b).tongxun[d+1];
}
(*b).jishu--;
printf("删除完成\n");
}
void chazhao(struct tongxunlu* b,char g[20])
{
int d = 0;
for(d=0;d<(*b).jishu;d++)
{
if(strcmp(g,(*b).tongxun[d].xingming)==0)
{
printf("已经查询到序号为%d\n",(d+1));
printf("姓 名 年龄 电话 \n");
printf("%s %d %s\n",(*b).tongxun[d].xingming,(*b).tongxun[d].nianlin,(*b).tongxun[d].dianhua);
}
}
if(d==(*b).jishu)
{
printf("没有查到\n");
}
}
int main()
{
int xuanze = 0;
struct tongxunlu a;
a.jishu=0;
while(xuanze!=5)
{
caidan();
scanf("%d",&xuanze);
if(xuanze==1)
{
yunlan(&a);
}
else if (xuanze==2)
{
xinzeng(&a);
}
else if (xuanze==3)
{
printf("请输入要删除的序号:");
int c= 0;
scanf("%d",&c);
sanchu(&a,c);
}
else if (xuanze==4)
{
char f[20];
printf("请输入要查找人的姓名");
scanf("%s",&f);
chazhao(&a,f);
}
else if (xuanze==5)
{
break;
printf("您已退出通讯录");
}
else
{
printf("选择错误,请重新选择\n");
}
}
return 0;
}