c语言文件的方式写通讯录,用c语言多文件编写1000人的通讯录

实现一个通讯录:

通讯录可以用来存储1000个人的信息,每个人的信息包括:

姓名,性别,年龄,电话,住址

提供方法:

1:                 添加联系人信息

2:                 删除指定联系人信息

3:                 查找指定联系人信息

4:                 修改指定联系人信息

5:                 显示所有联系人信息

6:                 清空所有联系人

#ifndef __CONTACT_H_

#define __CONTACT_H_

#define NAME_MAX 20

#define SEX_MAX 10

#define TEL_MAX 11

#define ADDR_MAX 20

#define PEO_MAX 1000

#include

#include

#include

typedef struct People

{

char name[NAME_MAX];

char sex[SEX_MAX];

int age;

char tel[TEL_MAX];

char addr[ADDR_MAX];

}*peo;

typedef struct Contact

{

int count;

struct People people[PEO_MAX];

}*pCon;

void add_peo(pCon pcon);

void del_peo(pCon pcon);

void find_peo(pCon pcon);

void modify_peo(pCon pcon);

void show_peo(pCon pcon);

void clear_peo(pCon pcon);

#endif#include "contact.h"

int search(pCon pcon,char *name)

{

int i = 0;

for(; i < pcon->count; i++)

{

if(strcmp(name,pcon->people[i].name) == 0)

return i;

}

return -1;

}

void add_peo(pCon pcon)//添加联系人

{

if(pcon->count == PEO_MAX)

{

printf("The contact has fullen.");

return ;

}

printf("please input name: ");

scanf("%s",(pcon->people[pcon->count]).name);

printf("please input sex : ");

scanf("%s",(pcon->people[pcon->count]).sex);

printf("please input age: ");

scanf("%d",&((pcon->people[pcon->count]).age));

printf("please input tel: ");

scanf("%s",(pcon->people[pcon->count]).tel);

printf("please input address: ");

scanf("%s",(pcon->people[pcon->count]).addr);

pcon->count++;

}

void del_peo(pCon pcon)//删除联系人

{

int i;

char name[NAME_MAX];

printf("please input the people you want to delete:");

scanf("%s",name);

i = search(pcon,name);

if( i == -1)

printf("The people doesn't exsit.\n");

else if(i == 1000)

pcon->count--;

else

{

for(; i < pcon->count; i++)

pcon->people[i] = pcon->people[i+1];

pcon->count--;

}

}

void find_peo(pCon pcon)//查找联系人

{

int i;

char name[NAME_MAX];

printf("please input the people you want to find:");

scanf("%s",name);

i = search(pcon,name);

if( i == -1)

printf("The people doesn't exsit.\n");

else

printf("%s\t%s\t%d\t%s\t%s\n",

pcon->people[i].name,

pcon->people[i].sex,

pcon->people[i].age,

pcon->people[i].tel,

pcon->people[i].addr);

}

void modify_peo(pCon pcon)//修改联系人

{

int i;

char name[NAME_MAX];

printf("please input the people you want to modify:");

scanf("%s",name);

i = search(pcon,name);

if( i == -1)

printf("The people doesn't exsit.\n");

else

printf("please input name: ");

scanf("%s",(pcon->people[i]).name);

printf("please input sex : ");

scanf("%s",(pcon->people[i]).sex);

printf("please input age: ");

scanf("%d",&((pcon->people[i]).age));

printf("please input tel: ");

scanf("%s",(pcon->people[i]).tel);

printf("please input address: ");

scanf("%s",(pcon->people[i]).addr);

}

void show_peo(pCon pcon)//显示联系人

{

int i = 0;

for(; i < pcon->count; i++)

{

printf("%s\t%s\t%d\t%s\t%s\n",

pcon->people[i].name,

pcon->people[i].sex,

pcon->people[i].age,

pcon->people[i].tel,

pcon->people[i].addr);

}

}

void clear_peo(pCon pcon)//清空联系人

{

pcon->count = 0;

}

#include "contact.h"

void show_menu()//显示界面

{

printf("************************\n");

printf("* 1:add 2:del *\n");

printf("* 3:find 4:modify *\n");

printf("* 5:show 6:clear *\n");

printf("************************\n");

}

int main()

{

struct Contact my_contact;//定义联系人类

int input = 1;

my_contact.count = 0;//联系人数量初始化

while(input)//每次进行循环

{

show_menu();

printf("please input:");

scanf("%d",&input);

switch(input)

{

case 1:

add_peo(&my_contact);

break;

case 2:

del_peo(&my_contact);

break;

case 3:

find_peo(&my_contact);

break;

case 4:

modify_peo(&my_contact);

break;

case 5:

show_peo(&my_contact);

break;

case 6:

clear_peo(&my_contact);

break;

default :

break;

}

}

return 0;

}

0db954442caffc54928616ef0c302795.png

06b58ba39c639aa168c5b2e92ae895fa.png

73737601fc0d59077ca8c7bf4a4c7c26.png

54b403ff29b09e991196c87f7f632c09.png

30d3d61d773a9da06c34c8e15b5b4375.png

原文:http://blog.csdn.net/byz1993/article/details/44978067

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值