[C/C++]c语言实现简单通讯录(动态内存)

设计目标:写一个通讯录,每个人的信息包括:1.名字,2.年龄,3.性别,4.电话,5.住址

                                            //功能:1. 增加一个人的信息
                                                         2. 删除一个指定的联系人
                                                        3. 查找一个指定的联系人
                                                        4. 修改一个指定的联系人
                                                        5. 显示通讯录中所有人的信息
                                                        6. 保存

                                                        7.销毁
                                                        0. 退出

静态版本 - 一次开辟1000个元素的连续空间

文件的版本 - 数据可以存储到文件中,不至于丢失,动态增长 - 按需开辟

成果图:增加: 

查找:  

删除:  

 保存:

销毁,展示:

1.通过结构保存个人信息和通讯录(静态动态两种建立方法)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<errno.h>

#define MAX 1000
#define NAME_MAX 20
#define SEX_MAX 5
#define TELL_MAX 12
#define ADDRESS_MAX 30

#define CAPACITY_SZ 3

typedef struct Personal		//个人信息结构体
{
	char name[NAME_MAX];
	int age;
	char sex[SEX_MAX];
	char tell[TELL_MAX];
	char address[ADDRESS_MAX];
}Persona;

//struct Contact		//通讯录静态
//{
//    Persona data[MAX];		//每创建一个就包含1000个 个人
//	int sz;
//};

struct Contact		//通讯录
{
	Persona *data;
	int sz;
	int capacity;		//最大容量
};

2.主函数:逻辑是创建通讯录--->初始化--->菜单--->功能,这里用枚举代替数字选择方便调试,更加直观。

enum Features
{
	Exit = 0,
	add,
	del,
	find,
	mod,
	show,
	save,
	Destroy,
};

void menu()
{
	printf("*****************************\n");
	printf("****1.add  **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值