【C语言】通讯录的实现

🦄个人主页:-雷阵雨-

⚙️作环境:Visual Studio 2019

目录

一:前言

 二:通讯录的实现

 1:通讯录的准备

(1):菜单的实现

 (2):通讯录所建立的结构体

(3):菜单里面功能的实现

 (4):全局变量的定义

2:通讯录功能的实现

(1):通讯录的初始化

(2):增加联系人

(3):打印通讯录

(4):查找联系人

(5):修改联系人

(6):删除联系人

 (7):排序通讯录

 三:总结

test.c:

contact.c:

contact.h:

一:前言

本文章将使用C语言实现通讯录的系统,并且储存个人的信息 电话 性别 年龄 电话 地址。并且对通讯录进行增删查改 排序 打印操作。

 二:通讯录的实现

 1:通讯录的准备

(1):菜单的实现

 首先建立一个通讯录,建立一个菜单很重要,菜单能便于用户对通讯录进行操作。

 代码如下:

menu()
{
	printf("***************************\n");
	printf("******1.add    2.del*******\n");//增加 删除
	printf("******3.search 4.modify****\n");//查 改
	printf("******5.show   6.sort******\n");//显示所有  排序
	printf("******0.exit         ******\n");//退出
	printf("***************************\n");
}

 (2):通讯录所建立的结构体

 在这里我们需要利用结构体来实现前言中通讯录功能以及联系人的信息,我们需要使用两个结构体。

代码如下:

typedef struct PeoInfo
{
	char name[namemax];
	int age;
	char sex[sexmax];
	char tele[telemax];
	char addr[addrmax];
}PeoInfo;
//通讯录
typedef struct Contact
{
	PeoInfo data[max];
	int sz;
}Contact;

 第一个结构体 PeoInnfo 是个人信息的存储。

第二个结构体中 PeoInfo data[max] 是用来作为第一个结构体为类型的数组,sz是记录这个结构体存放联系人的个数。

(3):菜单里面功能的实现

用户需要选择菜单里面的选项来对通讯录进行一系列功能,我们在菜单里面的对功能的编号为0到6,所以我选择使用枚举的方法,将操作变成数字,然后利用switch选择语句来实现功能。

 tips:在这里我也犯了个错误,因为枚举是库函数,还有宏,他们需要大写,不然后面会出现重定义。

代码如下: 

enum select
{
	EXIT,
    add,
    del,
    search,
    modify,
    show,
    sort
};
test()
{
	int input = 0;
	//首先要有通讯录存放的位置;
	Contact con;
	initContact(&con);
	do
	{
     menu();
	 printf("请选择:> ");
	 scanf("%d", &input);
	 switch(input)
	 {
		case add:
			addContact(&con);//在data中输入 所以传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:
			printf("退出通讯录\n");
			break;
		default:
			printf("输入错误,请重新输入\n");
			break;
	 }
	} while (input);
}
int main()
{
	test();
	return 0;
}

 (4):全局变量的定义

为了后期方便我们处理数组的大小,我们可以利用宏来实现

代码如下:

#define max 100
#define namemax 20
#define sexmax 5
#define telemax 20
#define addrmax 30

2:通讯录功能的实现

(1):通讯录的初始化

刚开始我们建立了通讯录的结构体,但里面存放的是我们不需要的变量,我们需要把这个结构体初始化ÿ

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值