#include <stdio.h>
#include <stdlib.h>
#include <string.h> //包含字符串函数 使用memest 来对变量进行初始化
//采用define 来定义常量
#define MAX_NAME 11 //名字最大长度
#define MAX_SEX 3 //性别
#define MAX_BIRTHDAY 9 //生日
#define MAX_TEL 21 //电话
#define MAX_MOBILE 21 //手机
#define MAX_FAX 21 //传真
#define MAX_ADDRESS 101 //地址
#define MAX_POSTAL_CODE 7 //邮编
//定义一个结构体
typedef struct _person
{
char name[MAX_NAME];
char sex[MAX_SEX];
char birthday[MAX_BIRTHDAY];
char tel[MAX_TEL];
char mobile[MAX_MOBILE];
char fax[MAX_FAX];
char address[MAX_ADDRESS];
char postal_code[MAX_POSTAL_CODE];
} person;
//定义一个_person结构体,并把结构体struct _person重命名为person.
//定义链表结构 用来动态存入 存出信息
typedef struct _addr_book
{
person per;
struct _addr_book *next;//定义一个struct _addr_book结构体的指针next,用来指向下一个结构体
}addr_book;//同理定义 结构体的重命名
addr_book *first=NULL;
//定义一个头结点指针并赋值为空,作为链表头
//函数声明
void add(); //添加联系人
void show(); //显示联系人
void search();//查找联系人
//void delete(); //删除联系人
void delete_person();//删除联系人
void save();//保存联系人
void quit();//退出系统
void update();
int print_menu();//打印菜单函数
addr_book *get_last(addr_book *from);//取得链表的最后一个值
void print_person(person *p);//显示一个联系人
void input_person(person *p);//提示输入一个联系人的具体信息
char menu[]="通讯录管理系统 | \n | 1 添加联系人 \n | 2 显示所有联系人 \n | 3 查找联系人 \n | 4 删除联系人 \n | 5 更新联系人 \n | 6 保存 \n | 7 退出系统 \n ";
int main()
{
// printf("yes");
//printf(menu);
int flag=1;
while(flag)
{
switch(print_menu())
{
case 1:
add();
break;
case 2:
show();
break;
case 3:
search();
break;
case 4:
delete_person();
break;
case
c语言实现的通讯录系统
最新推荐文章于 2023-06-24 11:40:18 发布
这个博客介绍了一个使用C语言编写的通讯录系统,利用链表数据结构动态存储和管理联系人信息,包括添加、显示、查找、删除、更新和保存等功能。系统通过文件读写保存数据,支持malloc动态内存分配。
摘要由CSDN通过智能技术生成