头文件模块:
#define _CRT_SECURE_NO_WARNINGS 1
//实现一个通讯录;
//通讯录可以用来存储1000个人的信息,每个人的信息包括:
//姓名、性别、年龄、电话、住址
#ifndef __PHONE_H__
#define __PHONE_H__
struct Phone
{
char name[20];
char sex[5];
int age;
int telphone[11];
char address[20];
int count;
}phone[1000];
void Add_information(Phone); //添加联系人信息
void Del_information(Phone); //删除指定联系人信息
void Find_information(Phone); //查找指定联系人信息
void Change_information(Phone); //修改指定联系人信息
void Display_information(Phone); //显示所有联系人信息
void Empty_information(Phone); //清空所有联系人
void Name_sort(Phone); //以名字排序所有联系人
#endif
函数实现模块:
#define _CRT_SECURE_NO_WARNINGS 1
#include "phone.h"
#include<string.h>
void Add_information(Phone) //添加联系人信息
{
printf("请输入联系人姓名:\n");
scanf("%s",p->phone[p->count].name);
printf("\n");
printf("请输入联系人性别:\n");
scanf("%s",p->phone[p->count].sex);
printf("\n");
printf("请输入年龄\n");
scanf("%d",&p->phone[p->count].age);
printf("\n");
printf("请输入电话号码\n");
scanf("%d",p->phone[p->count].telphone);
printf("\n");
printf("请填写联系人地址\n");
scanf("%s",p->phone[p->count].address);
printf("添加联系人信息成功\n");
}
void Del_information(Phone) //删除指定联系人信息
{
char name[20];
char m;
int i=0;
printf("请输入你要删除联系人的姓名\n");
scanf("%s",&name);
if(strcmp(p->phone[i].name, pname)==0)
{
printf("请输入y确定删除,n取消删除\n");
scanf("%d",&m);
if(m == 'y')
{
for (i = 0; i < p->count; i++)
{
p->Dhb[i] = p->phone[i + 1];
}
printf("删除成功\n");
}
}
else
{
printf("您输入的联系人不存在\n");
}
}
void Find_information(Phone) //查找指定联系人信息
{
char name[20];
int ret;
printf("请输入你要查找的联系人姓名\n");
scanf("%s",&name);
if(strcmp(p->phone[i].name, pname)==0)
{
ret=i;
printf("%s\n",p->phone[ret].name);
printf("%s\n",p->phone[ret].sex);
printf("d\n",p->phone[ret].age);
printf("%s\n",p->phone[ret].telphone);
printf("%s\n",p->phone[ret].address);
}
else
{
printf("您输入的联系人不存在\n");
}
}
void Change_information(Phone) //修改指定联系人信息
{
char name[20];
int ret;
printf("请输入你要修改的联系人姓名\n");
scanf("%s",&name);
if(strcmp(p->phone[i].name, pname)==0)
{
ret=i;
printf("请把姓名改为:\n");
scanf("%s", p->phone[ret].name);
printf("请把性别修改成:\n");
scanf("%s", p->phone[ret].sex);
printf("请把年龄修改成:\n");
scanf("%d", &p->phone[ret].age);
printf("请把电话修改成:\n");
scanf("%s", p->phone[ret].telphone);
printf("请把地址修改成:\n");
scanf("%s", p->phone[ret].address);
}
else
{
printf("您输入的联系人不存在\n");
}
}
void Display_information(Phone) //显示所有联系人信息
{
int i = 0;
for(i = 0; i<( p->count); i++)
{
printf("%s ", p->phone[i].name);
printf("%s ", p->phone[i].sex);
printf("%d ", p->phone[i].age);
printf("%s ", p->phone[i].telphone);
printf("%s ", p->phone[i].address);
}
printf("\n");
}
void Empty_information(Phone) //清空所有联系人
{
p->count = 0;
}
void Name_sort(Phone) //以名字排序所有联系人
{
int i=0;
for(i=0; i<count-1; i++)
{
int j=0;
for(j=i+1; j<count; j++)
{
if (strcmp(p->phone[i].name, p->phone[j].name)>0)
{
Ph tmp=p->Person[i];
p->phone[i] = p->phone[j];
p->phone[j] = tmp;
}
}
}
}
测试函数模块:
#define _CRT_SECURE_NO_WARNINGS 1
#include"phone.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void menu()
{
printf("************ 1.添加联系人信息 ************\n");
printf("************ 2.删除指定联系人信息************\n");
printf("************ 3.查找指定联系人信息************\n");
printf("************ 4.修改指定联系人信息************\n");
printf("************ 5.显示所有联系人信息************\n");
printf("************ 6.清空所有联系人 ************\n");
printf("************ 7.排序所有联系人 ************\n");
printf("************ 0.安全退出操作 ************\n");
}
int main()
{
struct Phone ph;
int input=1;
while(input)
{
switch(input)
{
case 1:
Add_information(ph);
break;
case 2:
Del_information(ph);
break;
case 3:
Find_information(ph);
break;
case 4:
Change_information(ph);
break;
case 5:
Display_information(ph);
break;
case 6:
Empty_information(ph);
break;
case 7:
Name_sort(ph);
break;
case 0:
exit(1);
break;
}
}
return 0;
}