通讯录管理系统
1、问题描述
通讯录属性有:编号、姓名、性别、通讯地址、邮箱地址、电话等信息和相关的对属性做操作的行为。主要完成对通讯录的简单管理。
2、功能要求
(1)添加功能:程序能够添加通讯录信息,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据姓名、电话、邮箱地址等信息对已添加的信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有通讯信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的通讯记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
(6)保存功能:可将当前系统中通讯录记录存入文件中,存入方式任意。
(7)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILENAME "address.txt"
using namespace std;
struct per/*结构体变量*/
{
char num[10];/*编号*/
char name[10];/*姓名*/
char x[5];/*性别*/
char address[100];/*地址*/
char email[20];/*邮箱*/
char phone[20];/*电话*/
};
void menu();/*主菜单*/
void address_add();/*添加功能*/
void address_query();/*查询功能*/
void address_display();/*显示功能*/
void address_modify();/*编辑功能*/
void address_delate();/*删除功能*/
void writeToText();/*保存功能*/
void address_read();/*读取功能*/
int address_exists(char b[20],struct per *p);/*判断编号是否唯一*/
void address_append(FILE *fp,struct per *p);/*添加数据格式*/
void menu(){/*主菜单代码*/
int a=0;
system("cls");
printf("=======通讯录管理系统=======\n");
printf("=======主菜单=======\n");
printf("1.添加通讯录信息\n");
printf("2.查询通讯录信息\n");
printf("3.显示通讯录信息\n");
printf("4.编辑通讯录信息\n");
printf("5.删除通讯录信息\n");
printf("6.保存通讯录信息\n");
printf("7.读取通讯录信息\n");
printf("0.退出\n");
printf("==============================\n");
printf("请选择(0-7)\n");
scanf("%d",&a);
switch(a){
case 1: {
address_add();
break;
}
case 2:{
address_query();
break;
}
case 3:{
address_display();
break;
}
case 4:{
address_modify();
break;
}
case 5:{
address_delate();
break;
}
case 6:{
writeToText();
break;
}
case 7:{
address_read();
break;
}
default:{
exit(0);/*正常退出*/
break;
}
}
}