编辑代码

#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;
}