从零开始的电话簿(标准C语言)

主要功能

  • 添加联系人,要求不超过100人,超过100则显示添加失败。
  • 删除联系人,按姓名删除(要保证不能有重名)
  • 修改联系人信息,先根据姓名查找到联系人
  • 查找联系人,根据电话号码查找联系人
  • 显示所有联系人

程序运行

1、菜单界面


实现程序后进入的电话簿菜单界面,输入指令1、2、3、4、5、q,分别实现电话簿添加、删除、修改、查找、显示、退出功能。

2、添加联系人

在这里插入图片描述
输入指令1后添加联系人,添加格式:姓名 性别 电话

3、删除联系人

在这里插入图片描述
这里是通过姓名删除联系人,输入指令后输入姓名即可删除成功

4、修改联系人信息

在这里插入图片描述
输入指令后即可修改联系人信息,通过输入姓名先找到联系人,然后重新输入此联系人的相关信息

5、查找联系人

在这里插入图片描述
输入指令后,通过手机号查找到联系人,程序中相同的手机号也可

6、显示所有联系人

在这里插入图片描述
这里输入指令后,显示所有的联系人信息。

程序代码

电话簿的头文件

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <getch.h>

定义联系人数据

// 定义联系人数据
char name[100][20];
char sex[100];
char tel[100][12];

添加联系人

void add_contacts(void)
{
	for(int i=0; i<100; i++)
	{
		if(0 == sex[i])
		{
			printf("请输入姓名、性别、电话:");
			scanf("%s %c %s",name[i],&sex[i],tel[i]);
			printf("添加联系人成功\n");
			return;
		}
	}
	printf("电话簿已满\n");
}

删除联系人

void del_contacts(void)
{
	char str[20] = {};
	printf("请输入要删除的联系人姓名:");
	scanf("%s",str);
	for(int i=0; i<100; i++)
	{
		if(0 == strcmp(str,name[i]))
		{
			sex[i] = 0;
			printf("删除联系人成功\n");
			return;
		}
	}
	printf("联系人不存在\n");
}

修改联系人信息

void change_contacts(void)
{
	char str[20] = {};
	printf("请输入要修改的联系人姓名:");
	scanf("%s",str);
	for(int i=0; i<100; i++)
	{
		if(0 == strcmp(str,name[i]))
		{
			printf("%s\t%c\t%s\n",name[i],sex[i],tel[i]);
			printf("请重新输入联系人姓名、性别、电话:");
			scanf("%s %c %s",name[i],&sex[i],tel[i]);
			return;
		}
	}
	printf("没有找到要修改的联系人");
}

查找联系人

void find_contacts(void)
{
	char str[20] = {};
	printf("请输入要查找的手机号:");
	scanf("%s",str);
	getchar();
	for(int i=0; i<100; i++)
	{
		if(strstr(tel[i],str))
		{
			printf("%s\t%c\t%s\n",name[i],sex[i],tel[i]);
		}
	}

	printf("请输入任意键继续...\n");
	getch();
}

显示所有联系人

void list_contacts(void)
{
	printf("姓名\t性别\t电话\n");
	for(int i=0; i<100; i++)
	{
		if(sex[i])
		{
			printf("%s\t%c\t%s\n",name[i],sex[i],tel[i]);
		}
	}
	printf("请输入任意键继续...\n");
	getch();
}

菜单界面

char menu(void)
{
	system("clear");
	printf("       欢迎使用C语言电话簿      \n");
	printf("_________________________________\n");
	printf("|                             |\n");
	printf("|        1、添加联系人         |\n");
	printf("|        2、删除联系           |\n");
	printf("|        3、修改联系人信息      |\n");
	printf("|        4、查找联系人          |\n");
	printf("|        5、显示所有联系人      |\n");
	printf("|        q、退出电话簿          |\n");
	printf("|                             |\n");
	printf("——————————————————————————————|\n");
	printf("请输入指令:");
	char cmd = getch();
	printf("%c\n",cmd);
	return cmd;
}

main函数

int main()
{
	while(true)
	{
		switch(menu())
		{
			case '1': add_contacts(); break;
			case '2': del_contacts(); break;
			case '3': change_contacts(); break;
			case '4': find_contacts(); break;
			case '5': list_contacts(); break;
			case 'q': return 0;
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_45050225/article/details/97516610