实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
#include"contact.h"
int add_contact(pContact pcon)
{
if(pcon->count_user ==MAX)
{
printf("通讯录已满!");
return -1;
}
else
{
printf("请输入名字:");
scanf("%s",pcon->people[pcon->count_user].name );
printf("请输入性别:");
scanf("%s",pcon->people[pcon->count_user].sex);
printf("请输入年龄:");
scanf("%d",&pcon->people[pcon->count_user].age);
printf("请输入电话:");
scanf("%s",pcon->people[pcon->count_user].tel);
printf("请输入地址:");
scanf("%s",pcon->people[pcon->count_user].add );
pcon->count_user++;
}
return 0;
}
int del_contact(pContact pcon)
{
int i=0;
int rel=search_contact(pcon);
if(rel!=-1)
{
for(i=rel;i<pcon->count_user-1;i++)
{
pcon->people[i] =pcon->people [i+1];
}
pcon->count_user--;
return 1;
}
else
{
printf("不存在!");
return -1;
}
}
int search_contact(pContact pcon)
{
int i;
char name[NAME_LIGHT];
printf("请输入要查找的名字:");
scanf("%s",name);
for(i=0;i<pcon->count_user;i++)
{
if(strcmp(pcon->people[i].name ,name)==0)
{
printf("\tname\tsex\tage\ttel\tadd\n");
printf("%10s",pcon->people[i].name );
printf("%5s",pcon->people[i].sex);
printf("%10d",pcon->people[i].age );
printf("%10s",pcon->people[i].tel );
printf("%10s\n",pcon->people[i].add );
return 1;
}
}
return -1;
}
int modify_contact(pContact pcon)
{
int rel=search_contact(pcon);
if(rel!=-1)
{
printf("请输入姓名:");
scanf("%s",pcon->people[pcon->count_user ].name);
printf("请输入性别:");
scanf("%s",pcon->people[pcon->count_user].sex );
printf("请输入年龄:");
scanf("%d",&pcon->people[pcon->count_user].age);
printf("请输入电话:");
scanf("%s",pcon->people[pcon->count_user ].tel );
printf("请输入地址:");
scanf("%s",pcon->people[pcon->count_user ].add );
return 1;
}
else
{
printf("输入错误!");
return -1;
}
}
int show_contact(pContact pcon)
{
int i;
printf("\tname\tsex\tage\ttel\tadd\n");
for(i=0;i< pcon->count_user;i++)
{
printf("%10s",pcon->people[i].name );
printf("%5s",pcon->people[i].sex);
printf("%10d",pcon->people[i].age );
printf("%10s",pcon->people[i].tel );
printf("%10s\n",pcon->people[i].add );
}
printf("\n");
return 0;
}
int clear_contact(pContact pcon)
{
pcon->count_user =0;
return 1;
}
#ifndef CONTACT_H
#define CONTACT_H
#endif
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NAME_LIGHT 10
#define SEX_LIGHT 4
#define TEL_LIGHT 20
#define ADD_LIGHT 30
#define MAX 1000
struct peopleInfo
{
char name[NAME_LIGHT];
char sex[SEX_LIGHT];
int age;
char tel[TEL_LIGHT];
char add[ADD_LIGHT];
};
struct contact
{
struct peopleInfo people[MAX];
int count_user;
};
typedef struct contact *pContact;
int add_contact(pContact pcon);
int del_contact(pContact pcon);
int search_contact(pContact pcon);
int modify_contact(pContact pcon);
int show_contact(pContact pcon);
int clear_contact(pContact pcon);
#include"contact.h"
int main()
{
int n;
struct contact people;
people.count_user=0;
printf("请输入一个数:");
scanf("%d",&n);
switch(n)
{
case 1:
add_contact(&people);
break;
case 2:
del_contact(&people);
break;
case 3:
search_contact(&people);
break;
case 4:
clear_contact(&people);
break;
case 5:
modify_contact(&people);
break;
case 6:
show_contact(&people);
break;
default:
printf("输入错误!");
break;
}
return 0;
}