基于c语言开发开发通讯录,2、C语言实现通讯录

//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;

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值