C语言实现静态版通讯录

本文介绍了如何使用C语言构建一个简单的通讯录管理系统,涵盖了初始化、增加、显示、删除、查找、修改和排序等功能。通过结构体和库函数,实现对联系人信息的增删查改操作,并提供了完整代码示例。
摘要由CSDN通过智能技术生成

目录

目录

1、构造通讯录大体框架

2、实现具体功能

2.1 初始化通讯录

2.2 增加功能

2.3 显示功能

2.4 删除功能

2.5 查找功能

2.6 修改功能

2.7 排序功能

参数

3 完整代码展示

4 总结


目录

用C语言实现一个通讯录,功能包括增、删、查、改、显示、删除

1、构造通讯录大体框架

搭建大体框架,通过输入input选择功能,代码如下:

#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<stdlib.h>

#define MAX_NAME 10
#define MAX_SEX 3
#define MAX_TELE 13
#define MAX_ADDR 20
#define MAX 100
enum option
{
	EXIT,
	ADD,
	DELE,
	SEARCH,
	MODIFY,
	SHOW,
	SORT
};
void menu()
{
	printf("---1 ADD---------------\n");
	printf("---2 DELE--------------\n");
	printf("---3 SEARCH------------\n");
	printf("---4 MODIFY------------\n");
	printf("---5 SHOW--------------\n");
	printf("---6 SORT--------------\n");
	printf("---7 EXIT--------------\n");
}

//创建结构体,人的信息
typedef struct PeoInfo
{
	char name[MAX_NAME];
	int age;
	char sex[MAX_SEX];
	char tele[MAX_TELE];
	char addr[MAX_ADDR];
}PeoInfo;

//创建结构体,通讯录的信息
typedef struct Contact
{
	PeoInfo data[MAX];//注意这里是结构体类型PeoInfo
	int count;
}Contact;


int main()
{
	int input = 0;
	Contact con;	
	do
	{
		menu();
		printf("请选择:");
		scanf("%d", &input);
		switch (input)
		{
		case ADD:
			
			break;
		case DELE:
			break;
		case SEARCH:
			break;
		case MODIFY:
			break;
		case SHOW:
			break;
		case SORT:
			break;
		case EXIT:
			printf("退出\n");
			break;
		default:
			printf("选择错误,请重新选择\n");
			break;
		}
	} while (input);
	return 0;
}

2、实现具体功能

2.1 初始化通讯录

contact里的内容全部置0。 

这里用到memset函数:标准库:<string.h>;声明为:void *memset(void *str, int c, size_t n);

  • str -- 指向要填充的内存块。
  • c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
  • n -- 要被设置为该值的字符数。
//初始化通讯录,全部置0
void initcontact(Contact* s)
{
	assert(s);
	s->count = 0;
	memset(s->data, 0, sizeof(s->data));
}

2.2 增加功能

选择1 add后开始进行增加功能,代码如下:

void addcontact(Contact* s)
{
	assert(s);
	if (s->count == MAX)
	{
		printf("通讯录已满,无法增加\n");
		return;
	}
	printf("请输入要增加的姓名:");
	scanf("%s", s->data[s->count].name);
	printf("请输入要增加的年龄:");
	scanf("%d", &(s->data[s->count].age));
	printf("请输入要增加的性别:");
	scanf("%s", s->data[s->count].sex);
	printf("请输入要增加的电话:");
	scanf("%s", s->data[s->count].tele);
	printf("请输入要增加的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值