C语言简单实现通讯录

一、整体思路

     1.需要一个结构体,用来表示人的基本信息,再需要一个结构体用来存放人的基本信息,声明一个结构体的全局变量访问结构体成员。

     2.定义一个枚举enum,表示通讯录各种执行的操作,用户选择时调用对应的函数。

     3.主要的函数:结构体的初始化函数,通讯录的增、删、改、查、显示、退出、清除函数,通讯录用文件的保存、加载函数。

     4.main函数:按步骤调用主要的函数,主要需要一个选择语句switch,进行各种操作的选择。

     5.具体的实现细节:

                                   1.存放人的基本信息用mallco动态存储,再使用时需要将数据保存到新开辟的内存中,将原来的

                                      释放;

                                   2.需要一个size用来记录通讯录中人的个数,方便执行其他操作;

                                   3.显示通讯录内容需要根据字典序;(给人按字母排序)

                                   4.清除是进行一次判断,确定用户是否删除所有;

                                   5.文件操作:用户每执行一个关于人的基本信息变化的操作,就将所有信息加载并保存到文件中,

                                      注意一下文件每执行一次关闭一次。

二、具体完整代码如下:

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

#define N 1024

//通讯录

typedef struct Person
{
	char name[N];
	char sex[N];
	char age[N];
	char phone[N];
	char address[N];
}Person;

typedef struct Addrbook
{
	Person* person_info;
	int size;
	int capacity;
}Addrbook;

Addrbook g_addr_book;

enum
{
	EXIT = 0,
	ADD = 1,
	FIND = 2,
	DEL = 3,
	MODFITY = 4,
	PRINT = 5,
	CLEAR = 6
};

//初始化通讯录
void Init()
{
	g_addr_book.size = 0;
	g_addr_book.capacity = 5;
	g_addr_book.person_info = (Person*)malloc(sizeof
		(Person)*g_addr_book.capacity);
}

int Menu()
{
	printf("(>^ω^<)喵\n")
  • 18
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值