实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
contacts.h
#ifndef CONTACTS_H
#define CONTACTS_H
#endif
#include <STDIO.H>
#include <string.h>
#include <stdlib.h>
#define NAME_LENGTH 100
#define SEX_LENGTH 20
#define TELE_LENGTH 20
#define ADDS_LENGTH 20
#define MAX 1000
struct peopleInfo
{
char name[NAME_LENGTH];
char sex [SEX_LENGTH];
int age;
char tele[TELE_LENGTH];
char adds[ADDS_LENGTH];
};
struct contacts
{
struct peopleInfo person[MAX];
int count_user;
};
typedef struct contacts *pContacts;
int add_contacts(pContacts pcon);
int del_contacts(pContacts pcon);
int Modify_contacts(pContacts pcon);
int show_contacts(pContacts pcon);
int find_contacts(pContacts pcon);
int clear_contacts(pContacts pcon);
contac.cpp
#include <contacts.h>
int find_entry(pContacts pcon)
{
int i=0;
char name[NAME_LENGTH];
printf("请输入要查找的名字\n");
scanf("%s",&name);
for(i==0;i<pcon->count_user;i++)
{
if (strcmp(pcon->person->name,name)==0)
{
return i;
}
}
return -1;
}
int add_contacts(pContacts pcon)
{
if (pcon->count_user==MAX)
{
printf("通讯录已满\n");
return -1;
}
printf("请输入姓名\n");
scanf("%s",pcon->person[pcon->count_user].name);
printf("请输入性别\n");
scanf("%s",pcon->person[pcon->count_user].sex);
printf("请输入年龄\n");
scanf("%d",pcon->person[pcon->count_user].age);
printf("请输入电话\n");
scanf("%s",pcon->person[pcon->count_user].tele);
printf("请输入地址\n");
scanf("%s",pcon->person[pcon->count_user].adds);
pcon->count_user++;
return 1;
}
int del_contacts(pContacts pcon)
{
int rel=find_entry(pcon);
if (rel!=-1)
{
for (int i=rel;i<pcon->count_user;i++)
{
pcon->person[i]=pcon->person[i+1];
}
pcon->count_user--;
return 1;
}
else
{
printf("不存在\n");
return -1;
}
}
int clear_contacts(pContacts pcon)
{
pcon->count_user=0;
return 1;
}
int find_contacts(pContacts pcon)
{
int ret=find_entry(pcon)
if (ret!=-1)
{
printf("%s",pcon->person->name);
printf("%s",pcon->person->sex);
printf("%s",pcon->person->tele);
printf("%s",pcon->person->adds);
printf("%d",pcon->person->age);
return 1;
}
else
{
printf("不存在\n");
return -1;
}
}
int Modify_contacts(pContacts pcon)
{
int rel=find_entry(pcon);
if (rel!=-1)
{
printf("请输入姓名\n");
scanf("%s",pcon->person[pcon->count_user].name);
printf("请输入性别\n");
scanf("%s",pcon->person[pcon->count_user].sex);
printf("请输入年龄\n");
scanf("%d",pcon->person[pcon->count_user].age);
printf("请输入电话\n");
scanf("%s",pcon->person[pcon->count_user].tele);
printf("请输入地址\n");
scanf("%s",pcon->person[pcon->count_user].adds);
pcon->count_user++;
return 1;
}
else
{
printf("不存在\n");
return -1;
}
}
int show_contacts(pContacts pcon)
{
int i=0;
printf("\tname\tsex\t\tage\t\ttele\t\t\taddr\n");
for (i=0;i<pcon->count_user;i++)
{
printf("%10s\t",pcon->person->name);
printf("%5s\t",pcon->person->sex);
printf("%10d\t",pcon->person->age);
printf("%15s\t",pcon->person->tele);
printf("%20s\t",pcon->person->adds);
}
printf("\n");
}
main.cpp
#include <contacts.h>
int main()
{
int n;
struct contacts ;
people.count_user=0;
printf("请输入一个数:\n");
scanf("%d",&n);
switch (n)
{
case 1 :
add_contacts(&people);
break;
case 2 :
del_contacts(&people);
break;
case 3 :
show_contacts(&people);
break;
case 4 :
Modify_contacts(&people);
break;
case 5 :
clear_contacts(&people);
break;
default:
printf("输入错误\n");
break;
}
return 0;
}