//address.c
#include"address.h"
void Init(Con* pcon) //初始化
{if (pcon ==NULL)
{
printf("非法输入!\n");return;
}
pcon->size = 0;
}int find(Con *pcon, char *name) //根据姓名查找位置
{int i = 0;for (i = 0; i < pcon->size; i++)
{if (strcmp(name, pcon->data[i].name)==0)
{returni;
}
}return -1;
}void Insert(Con *pcon) //插入
{if (pcon->size ==MAX_SIZE)
{
printf("通讯录已经满了!\n");return;
}
printf("请输入名字:");
scanf("%s", (pcon->data[pcon->size]).name);
printf("请输入性别:");
scanf("%s", (pcon->data[pcon->size]).sex);
printf("请输入年龄:");
scanf("%s", (pcon->data[pcon->size]).age);
printf("请输入电话:");
scanf("%s", (pcon->data[pcon->size]).tele);
printf("请输入地址:");
scanf("%s", (pcon->data[pcon->size]).address);
pcon->size++;
}void Delete(Con *pcon) //删除
{char name[20];int ret = 0;
printf("请输入要删除人的名字:");
scanf("%s", name);
ret=find(pcon, name);if (ret!=-1)
{int i = 0;for (i = ret; i < pcon->size-1; i++)
{
pcon->data[ret] = pcon->data[ret + 1];
}
pcon->size--;
printf("已删除该联系人\n");
}else{
printf("此人不存在,删除失败!\n");
}
}void Search(Con *pcon) //查找信息
{char name[20];int ret = 0;
printf("请输入联系人姓名\n");
scanf("%s", name);
ret=find(pcon, name);if (ret!=-1)
{
printf("姓名:%s 性别: %s 年龄 :%s 电话:%s 地址: %s \n",
pcon->data[ret].name, pcon->data[ret].sex,
pcon->data[ret].age, pcon->data[ret].tele,
pcon->data[ret].address );
}else{
printf("没有找到\n");
}
}void Change(Con* pcon) //修改
{char name[20];int ret = 0;
printf("请输入联系人姓名:\n");
scanf("%s", name);
ret=find(pcon, name);if (ret!=-1)
{
printf("请输入修改后名字:");
scanf("%s", (pcon->data[ret]).name);
printf("请输入修改后性别:");
scanf("%s", (pcon->data[ret]).sex);
printf("请输入修改后年龄:");
scanf("%s", (pcon->data[ret]).age);
printf("请输入修改后电话:");
scanf("%s", (pcon->data[ret]).tele);
printf("请输入修改后地址:");
scanf("%s", (pcon->data[ret]).address);
printf("已经修改\n");
}
}void Show(Con * pcon) //显示
{if (pcon->size == 0)
{
printf("通讯录为空!\n");
}int i = 0;for (i = 0; i < pcon->size; i++)
{
printf("姓名:%s 性别: %s 年龄 :%s 电话:%s 地址: %s \n",
pcon->data[i].name, pcon->data[i].sex,
pcon->data[i].age, pcon->data[i].tele,
pcon->data[i].address
);
}
}void Clear(Con *pcon) //清除
{
pcon->size = 0;
}void Sort(Con *pcon) //以名字排序
{int i = 0;int j = 0;for (i = 0; i < pcon->size-1; i++)
{for (j = 0; j < pcon->size - i - 1; j++)
{if (strcmp(pcon->data[j].name, pcon->data[j + 1].name)>0)
{
pCon tmp;
tmp= pcon->data[j];
pcon->data[j] = pcon->data[j + 1];
pcon->data[j + 1] =tmp;
}
}
}
}