目录
据标题所述,本文将详细讲解三种版本通讯录的写法,分别是:
静态的版本;动态的版本;文件的版本。
首先讲解静态版本的写法:
通讯录里含有人的信息,包括名字、年龄、性别、电话、地址。
其中需要实现的功能有:
a.存放若干个人的信息
b.增加联系人
c.删除指定联系人
d.查找联系人
e.修改联系人
f.排序
g.显示联系人
通讯录程序将要新建三个文件,两个源文件,一个头文件,各文件作用如下:
整体思路:
首先在头文件中自定义一个结构体类型(表示人的信息),再自定义一个结构体类型(表示通讯录),在源文件test.c中首先初始化通讯录,再建立一个do while循环,选择语句switch中分别包含增、删、查、改、显示、排序、销毁7种功能选择,于是再在源文件contact.c中写出各功能的自定义函数,整体思路就是这样。
步骤解析:
首先在contact.h中创建人的信息结构体,通讯录结构体:
#define MAX 100//假设通讯录最多存放100人
#define NAME 10
#define SEX 4
#define PHONE 20
#define ADDRESS 30
//人的信息
typedef struct people
{
char name[NAME];
int age;
char sex[SEX];
char phone[PHONE];
char address[ADDRESS];
}people;
//通讯录的信息
typedef struct contact
{
people data[MAX];//结构体数组存放100个人的信息
int count;//记录当前通讯录中实际人的个数
}contact;
在test.c中写出程序的主体来:
void menu()
{
printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
printf("$$$$$$$$$$$ 1.increase 2.delete $$$$$$$$$$\n");
printf("$$$$$$$$$$$ 3.seek 4.correct $$$$$$$$$$\n");
printf("$$$$$$$$$$$ 5.display 6.sort $$$$$$$$$$\n");
printf("$$$$$$$$$$$ 0.exit $$$$$$$$$$\n");
printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
}
enum option
{
exit,
increase,
delete,
seek,
correct,
display,
sort,
};
int main()
{
int input = 0;
contact con;//用结构体类型contact定义一个变量con
//初始化通讯录
initcontact(&con);
do
{
menu();
printf("请选择&#x