用C实现三种版本的通讯录

本文详细介绍了如何使用C语言实现三种版本的通讯录:静态、动态和文件版本。静态版本涉及结构体定义、增删查改等功能;动态版本在静态基础上增加容量管理和内存动态分配;文件版本则增加了保存和加载通讯录信息到文件的功能。通过字符串函数和排序函数的运用,实现了完整的通讯录管理系统。
摘要由CSDN通过智能技术生成

 

目录

首先讲解静态版本的写法:

其中需要实现的功能有:

整体思路:

步骤解析:

动态版本通讯录的实现:

文件版本通讯录的实现:


据标题所述,本文将详细讲解三种版本通讯录的写法,分别是:

静态的版本;动态的版本;文件的版本。

首先讲解静态版本的写法:

通讯录里含有人的信息,包括名字、年龄、性别、电话、地址。

其中需要实现的功能有:

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
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发烧的CPU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值