头文件 MailL.h
#ifndef _MAILLIST_H
#define _MAILLIST_H
enum {
ADD_MSG = 1, //添加信息
DELETE_MSG, //删除信息
SEARCH_MSG, //查询信息
CHANGE_MSG, //修改信息
DISPLAY_MSG, //显示
EMPTY_MSG, //清空
};
struct MailList{
char name[20];
char gender;
char telnum[30];
char addr[200];
int age;
};
extern struct MailList g_allMsg[1000];
extern int g_count;
//添加联系人信息
void inputData();
//显示所有联系人信息
void outputData();
#endif //_MAILLIST_H
主函数 MailList.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "MailList.h"
struct MailList g_allMsg[1000];
int g_count;
//定义一个菜单
int menu(){
int tmp, ret;
printf("1. 添加联系人信息\n"
"2. 删除指定联系人信息\n"
"3. 查找指定联系人信息\n"
"4. 修改指定联系人信息\n"
"5. 显示所有联系人信息\n"
"6. 清空所有联系人\n"
"请输入您的选项: ");
ret = scanf("%d", &tmp);
return ret ? tmp : -1;
}
void MailList(){
int op;
while (1){
op = menu();
switch (op){
case ADD_MSG:
inputData();
break;
case DELETE_MSG:
break;
case SEARCH_MSG:
break;
case CHANGE_MSG:
break;
case DISPLAY_MSG:
outputData();
break;
case EMPTY_MSG:
break;
case -1:
printf("您的输入有误,请重新输入\n");
break;
default:
printf("您的输入有误,请重新输入\n");
}
}
}
int main(){
MailList();
system("pause");
return 0;
}
函数功能 fun.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "MailList.h"
//添加联系人信息
void inputData(){
printf("请输入姓名: \n");
scanf("%49s", g_allMsg[g_count].name);
getchar();
printf("请输入性别(f/m):\n");
scanf("%c", &g_allMsg[g_count].gender);
printf("请输入年龄:\n");
scanf("%d", &g_allMsg[g_count].age);
printf("请输入电话号码:\n");
scanf("%29s", g_allMsg[g_count].telnum);
printf("请输入地址:\n");
scanf("%199s", g_allMsg[g_count].addr);
g_count++;
}
//显示联系人信息
void outputData(){
int i;
printf("姓名 性别 年龄 电话 住址\n");
for (i = 0; i < g_count; ++i){
printf("%-10s %3c %3d %11s %s\n",
g_allMsg[i].name,
g_allMsg[i].gender,
g_allMsg[i].age,
g_allMsg[i].telnum,
g_allMsg[i].addr);
}
}
在此基础上进行完善