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

来源:互联网 发布:淘宝上被骗了怎么投诉 编辑:程序博客网 时间:2024/05/22 01:57

实现一个通讯录:

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

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

提供方法:

1:                 添加联系人信息

2:                 删除指定联系人信息

3:                 查找指定联系人信息

4:                 修改指定联系人信息

5:                 显示所有联系人信息

6:                 清空所有联系人


#ifndef __CONTACT_H_#define __CONTACT_H_#define NAME_MAX 20#define SEX_MAX 10#define TEL_MAX 15#define ADDR_MAX 20#define PEO_MAX 1000#include <stdio.h>#include <string.h>#include <stdlib.h>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
</pre><pre class="cpp" name="code">
#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");elseprintf("%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");elseprintf("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;}




0 0
原创粉丝点击