#include<stdio.h>
#include <string.h>
#define NAME_LEN 20
#define SEX_LEN 5
#define TELE_LEN 12
#define ADDR_LEN 20
#define MAX_PEO 1000
typedef struct Peo
{
char name[NAME_LEN];
int age;
char sex[SEX_LEN];
char tele[TELE_LEN];
char addr[ADDR_LEN];
}PEO,*PPEO;
typedef struct Contact
{
PEO dhb[MAX_PEO];//存储人的信息
// PEO dhb;
int count;//记录有效个数
// PPEO next;
}PCON,*Pcon;
void add_peo(Pcon pcon);
void del_peo(Pcon pcon);
void search(Pcon pcon);
void modify(Pcon pcon);
void show(Pcon pcon);
void clear(Pcon pcon);
void print_menu()
{
printf("*******************************\n");
printf("*** 1>add 2>del ***\n");
printf("*** 3>show 4>search***\n");
printf("*** 5>modify 6>clear ***\n");
printf("*******************************\n");
}
int find(char *p,Pcon pcon)
{
int i = 0;
for(i = 0;i<pcon->count;i++)
{
if(strcmp(p,pcon->dhb[i].name) == 0)
{
return i;
}
}
return -1;
}
void add_peo(Pcon pcon)
{
//判断
if(pcon->count<MAX_PEO)
{
printf("请输入名字:");
scanf("%s",(pcon->dhb[pcon->count]).name);
printf("请输入年龄:");
scanf("%d",&(pcon->dhb[pcon->count].age));
printf("请输入性别:");
scanf("%s",pcon->dhb[pcon->count].sex);
printf("请输入电话:");
scanf("%s",pcon->dhb[pcon->count].tele);
printf("请输入地址:");
scanf("%s",pcon->dhb[pcon->count].addr);
pcon->count++;
printf("添加成功!\n");
}
else
{
printf("电话本已满!\n");
return ;
}
}
void del_peo(Pcon pcon)
{
char name[NAME_LEN];
int ret = 0;
int index = 0;
printf("请输入要删除的人的名字:");
scanf("%s",name);
//查找
ret = find(name,pcon);
//删除制定的人
if(ret == -1)
{
printf("要删除的人不存在!\n");
return;
}
else
{
for(index = ret;index < pcon->count-1;index++)
{
pcon->dhb[index] = pcon->dhb[index+1];
}
}
pcon->count--;
printf("删除成功!\n");
}
void search(Pcon pcon)
{
char name[NAME_LEN];
int ret = 0;
if(ret == -1)
{
printf("没有找到指定的人\n");
}
else
{
printf("请输入要查找的名字:");
scanf("%s",name);
ret = find(name,pcon);
printf("%s\t",(pcon->dhb[ret]).name);
printf("%d\t",(pcon->dhb[ret]).age);
printf("%s\t",pcon->dhb[ret].sex);
printf("%s\t",pcon->dhb[ret].tele);
printf("%s\n",pcon->dhb[ret].addr);
}
}
void modify(Pcon pcon)
{
char name[NAME_LEN];
int ret = 0;
printf("请输入要修改的名字:");
scanf("%s",name);
ret = find(name,pcon);
if(ret != -1 )
{
printf("请输入名字:");
scanf("%s",(pcon->dhb[ret]).name);
printf("请输入年龄:");
scanf("%d",&(pcon->dhb[ret].age));
printf("请输入性别:");
scanf("%s",pcon->dhb[ret].sex);
printf("请输入电话:");
scanf("%s",pcon->dhb[ret].tele);
printf("请输入地址:");
scanf("%s",pcon->dhb[ret].addr);
printf("修改成功!\n");
}
else
printf("主人,找不到呀!\n");
}
void show(Pcon pcon)
{
int i=0;
for(;i<pcon->count;i++)
{
printf("%s\t",(pcon->dhb[i]).name);
printf("%d\t",(pcon->dhb[i]).age);
printf("%s\t",pcon->dhb[i].sex);
printf("%s\t",pcon->dhb[i].tele);
printf("%s\n",pcon->dhb[i].addr);
}
}
void clear(Pcon pcon)
{
pcon->count = 0;
}
int main()
{
PCON con;
int input = 1;
con.count = 0;
while(input)
{
print_menu();
printf("请选择>:");
scanf("%d",&input);
switch(input)
{
case 1:
add_peo(&con);
break;
case 2:
del_peo(&con);
break;
case 3:
show(&con);
break;
case 4:
search(&con);
break;
case 5:
modify(&con);
break;
case 6:
clear(&con);
break;
default:
break;
}
}
return 0;
}
电话本
最新推荐文章于 2021-10-01 09:08:10 发布