通讯录是一个可以记录亲人、好友信息的工具,这篇文章主要为大家详细介绍了C语言实现通讯录管理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一、代码展示
test.c
✅使用枚举类型,使得菜单部分的代码可读性更强,便于理解
#define _CRT_SECURE_NO_WARNINGS
#include"contact.h"
enum Option
{
EXIT,
ADD,
DEL,
SEARCH,
MODIFY,
SHOW,
SORT
};
void menu() {
printf("*******\ 1.add 2.del /*******\n");
printf("*******\ 3.search 4.modify /*******\n");
printf("*******\ 5.show 6.sort /*******\n");
}
int main(){
int input = 0;
Contact con; //通讯录
//结构体传参
InitContact(&con); //结构体传参
do
{
menu();
printf("请选择:> ");
scanf("%d", &input);
switch (input)
{
case ADD:
AddContact(&con);
break;
case DEL:
DelContact(&con);
break;
case SEARCH:
SearchContact(&con);
break;
case MODIFY:
ModifyContact(&con);
break;
case SHOW:
ShowContact(&con);
break;
case SORT:
SortContact(&con);
break;
case EXIT:
SaveContact(&con);
DestroyContact(&con);
printf("退出通讯录\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}contact.c
✅在contact.c中静态的版本无法满足我们的需求,因此我们在动态的版本当中使用realloc函数就可以做到对动态开辟内存大小,我们可以封装一个函数来判断容量是否足够,不够的话进行扩容。
✅在contact.c中文件的版本可以将创建的数据存储在本地,当程序退出时,数据依然存在,使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化。
#define _CRT_SECURE_NO_WARNINGS 1
#include "contact.h"
//静态的版本
//void InitContact(Contact* pc)
//{
// assert(pc);
// pc->count = 0;
// memset(pc->data, 0, sizeof(pc->data));
/
沃梦达教程
本文标题为:C语言示例讲解动态/文件/静态功能版本的通讯录实现
猜你喜欢
- Qt计时器使用方法详解 2023-05-30
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- C语言详解float类型在内存中的存储方式 2023-03-27
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C++ 数据结构超详细讲解顺序表 2023-03-25
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- ubuntu下C/C++获取剩余内存 2023-09-18
- C语言qsort()函数的使用方法详解 2023-04-26
- Easyx实现扫雷游戏 2023-02-06
