【C语言】小型通讯录实现
C语言实现相关小型通讯录,可以做到对通讯录里面的内容进行增删查改,排序(以名字为依据),由于实现的代码相对较多,可以通过多个程序文件来编写程序,涉及的知识点主要有结构体类型及其操作,枚举类型的使用等。这里主要有三个文件:
test.c(主要通讯录各个函数的功能);
Contact.h(用于存放通讯录各个功能函数的声明,以及程序所用库函数的声明);
Contact.h(存放通讯录各类功能函数)。
通讯录实现部分(test.c):
//test.c
#define _CRT_SECURE_NO_WARNINGS 1
#include "Contact.h"
int main()
{
int input = 0;
//creat a contact
struct Contact con;
InitContact(&con);
do
{
menu();
//usage;
printf("please choose:>");
scanf("%d", &input);
//task;
switch (input)
{
case ADD:
AddContact(&con);
break;
case DEL:
DelContact(&con);
break;
case SEARCH:
SearchContact(&con);
break;
case DISPLAY:
ShowContact(&con);
break;
case MODIFY:
ModifyContact(&con);
break;
case EXIT:
break;
case SORT:
SortContact(con.data, con.sz);
break;
default:
printf("an error appeared: \n");
break;
}
} while(input);
printf("exit the contact successfully !\n");
return 0;
}
在 test.c 中 首先创建个通讯录 con,并对其进行初始化,将其所有元素均置为0,在接下来,通过do…while方式循环实现各类操作,在switch语句中选择执行哪类通讯录功能;需要注意的是,可以通过枚举变量实现将数字与具有实际意义的变量名联系起来,使得代码可读性提高。
通讯录函数声明(Contact.h)
//Contact.h
//通讯录各功能函数声明 function statement
#pragma once
//导入所需要的各种库函数;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <search.h>
//element maximum:定义符号变量,使得数组元素大小可以在这里被改变,便于维护
#define NAME_MAX 15
#define SEX_MAX 6
#define TELE_MAX 13
#define ADDR_MAX 20
#define MAX 1000
void menu(void);
//枚举类型
enum Option
{
EXIT,
ADD,
DEL,
SEARCH