likes
comments
collection
share

C语言通讯录系统——结构体数组(2)

作者站长头像
站长
· 阅读数 67

运行结果

起始进入菜单页面

C语言通讯录系统——结构体数组(2)

添加用户

C语言通讯录系统——结构体数组(2)

展示用户数据

C语言通讯录系统——结构体数组(2)

删除数据

C语言通讯录系统——结构体数组(2)

查找数据

C语言通讯录系统——结构体数组(2)

修改数据

修改数据前先进行查找,如果输入的在数据中没找到提示未找到! C语言通讯录系统——结构体数组(2) 如果能找到数据进行修改 C语言通讯录系统——结构体数组(2)

对数据按姓名首字母顺序进行排序

C语言通讯录系统——结构体数组(2)

清空数据

C语言通讯录系统——结构体数组(2)

代码分析

头文件引入

#pragma once
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

预定义

姓名最大输入20个字符,邮编省份最多输入30个字符(这里偷了懒,应该分开命名,但考虑他们差不多就偷懒了,开发中建议分开命名),电话号码最多输入11个字符,地址最多输入30个字符,通讯录容量1000

#define MAX_Name 20
#define MAX_post 30
#define MAX_Tele 11
#define MAX_Addr 30
#define MAX 1000

枚举菜单名

enum Option
{
	EXIT,
	ADD,//增加
	DEL,//删除
	SEARCH,//搜索
	MODIFY,//修改
	SHOW,//显示
	SORT,
	EMPTY//清空
};

定义结构体数组

typedef struct Info//每条通讯录成员的具体内容
{
	char name[MAX_Name];//姓名	
	char tele[MAX_Tele];//电话
	char addr[MAX_Addr];//街道
	char city[MAX_Addr];//城市
	char province[MAX_post];//省份
	char postcode[MAX_post];//邮编
}Info;

typedef struct Contact
{
	Info *data;//指向动态开辟的空间
	int sz;//当前有效消息的个数
	int capacity;//容量
}Contact;

声明函数

void InitContact(Contact *pcon);//初始化函数
void DestroyContact(Contact *pcon);
void AddContact(Contact *pcon);
int Check_Capacity(Contact *pcon);
void ShowContact(const Contact *pcon);
void DelContact(Contact *pcon);
void SearchContact(const Contact *pcon);
void ModifyContact(Contact *pcon);
void SortContact(Contact *pcon);
void EmptyContact(Contact *pcon);
void SaveContact(Contact *pcon);
void LoadContact(Contact *pcon);
转载自:https://juejin.cn/post/7034861717658009631
评论
请登录