zhaoyaqian552的专栏

实现一个通讯录;通讯录可以用来存储1000个人的信息,,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息

6. 清空所有联系人

//头文件:

#ifndef _CONTACT__#define _CONTACT__#define NAME_MAX 20#define SEX_MAX 5#define TELE_MAX 20#define ADDR_MAX 30#define SB_MAX 1000#include <stdio.h>#include <string.h>typedef struct sb{char name[NAME_MAX];char sex[SEX_MAX];int age;char tele[TELE_MAX];char addr[ADDR_MAX];}*sbcon;typedef struct contact{struct sb telen[SB_MAX];int count;}*pCon;void add(pCon pcon);void dele(pCon pcon);void search(pCon pcon);void modify(pCon pcon);void show(pCon pcon);void clear(pCon pcon);#endif 功能函数如下:<pre name="code" class="cpp">#include "contact.h"int find(pCon pcon,char *name){int i = 0;while( i < pcon->count ){if( strcmp(name,pcon->telen[i].name) == 0 )return i;i++;}return -1;}//添加联系人void add(pCon pcon){//判断电话本是否满了if(pcon->count == SB_MAX){printf("电话本已满\n");return;}else{printf("姓名:");scanf("%s",(pcon->telen[pcon->count]).name);printf("性别:");scanf("%s",(pcon->telen[pcon->count]).sex);printf("年龄:");scanf("%d",&(pcon->telen[pcon->count]).age);printf("联系电话:");scanf("%s",(pcon->telen[pcon->count]).tele);printf("家庭住址:");scanf("%s",(pcon->telen[pcon->count]).addr);pcon->count++;}}//删除联系人void dele(pCon pcon){int ret = 0;char tname[NAME_MAX];printf("请输入要删除的名字:");scanf("%s",tname);ret = find(pcon,tname);if( -1 != ret ){int j = ret;for(; j < pcon->count-1; j++){pcon->telen[j] = pcon->telen[j+1];}pcon->count–;}elseprintf("没有找到你要删除的人\n");}//查找联系人void search(pCon pcon){int ret = 0;char tname[NAME_MAX];printf("请输入要修改的名字:");scanf("%s",tname);ret = find(pcon,tname);if( -1 != ret ){printf("%s\t%s\t%d\t%s\t%s\t\n",(pcon->telen[ret]).name,(pcon->telen[ret]).sex,(pcon->telen[ret]).age,(pcon->telen[ret]).tele,(pcon->telen[ret]).addr);}elseprintf("没有找到你要找的人\n");}//修改联系人void modify(pCon pcon){int ret = 0;char tname[NAME_MAX];printf("请输入要修改的名字:");scanf("%s",tname);ret = find(pcon,tname);if( -1 != ret ){printf("姓名:");scanf("%s",(pcon->telen[ret]).name);printf("性别:");scanf("%s",(pcon->telen[ret]).sex);printf("年龄:");scanf("%d",&(pcon->telen[ret]).age);printf("联系电话:");scanf("%s",(pcon->telen[ret]).tele);printf("家庭住址:");scanf("%s",(pcon->telen[ret]).addr);}elseprintf("没有找到你要找的人\n");}//展示void show(pCon pcon){int i = 0;for(; i < (pcon->count); i++){printf("%s\t%s\t%d\t%s\t%s\t\n",(pcon->telen[i]).name,(pcon->telen[i]).sex,(pcon->telen[i]).age,(pcon->telen[i]).tele,(pcon->telen[i]).addr);}}//清空void clear(pCon pcon){pcon->count = 0;printf("电话本是空的\n");}//主函数: #include "contact.h"void shou_menue(){printf("*********************************\n");printf("* 1:添加联系人 2:删除联系人 *\n");printf("* 3:查找联系人 4:修改联系人 *\n");printf("* 5:显示联系人 6:清空联系人 *\n");printf("*********************************\n");}int main(){struct contact my_contact;int input = 1;my_contact.count = 0;while(input){shou_menue();printf("请选择你想要的操作:");scanf("%d",&input);switch(input){case 1:add(&my_contact);break;case 2:dele(&my_contact);break;case 3:search(&my_contact);break;case 4:modify(&my_contact);break;case 5:show(&my_contact);break;case 6:clear(&my_contact);break;default:break;}}return 0;}

以下是运行结果截图:

添加联系人以及显示联系人:

删除联系人:

查找联系人:

送给中意的TA,背面写上:某年某月某日,

zhaoyaqian552的专栏

相关文章:

你感兴趣的文章:

标签云: