【c语言】实现一个通讯录

实现一个通讯录;

通讯录可以用来存储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 addpCon pcon);
void delepCon pcon);
void searchpCon pcon);
void modifypCon pcon);
void showpCon pcon);
void clearpCon pcon);#endif功能函数如下:<pre name="code" class="cpp">#include "contact.h"int findpCon pcon,char *name)
{int i = 0;while i < pcon->count ){if strcmpname,pcon->telen[i].name) == 0 )return i;i++;}return -1;
}
//添加联系人
void addpCon pcon)
{//判断电话本是否满了ifpcon->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 delepCon pcon)
{int ret = 0;char tname[NAME_MAX];printf"请输入要删除的名字:");scanf"%s",tname);ret = findpcon,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 searchpCon pcon)
{int ret = 0;char tname[NAME_MAX];printf"请输入要修改的名字:");scanf"%s",tname);ret = findpcon,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 modifypCon pcon)
{int ret = 0;char tname[NAME_MAX];printf"请输入要修改的名字:");scanf"%s",tname);ret = findpcon,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 showpCon 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 clearpCon 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;whileinput){shou_menue);printf"请选择你想要的操作:");scanf"%d",&input);switchinput){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;
}

以下是运行结果截图:

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

删除联系人:

查找联系人:

修改联系人:

清空联系人:

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注