#include <stdio.h>
#define data a[i].no,a[i].name,a[i].phone,a[i].address
//函数声明 -----------------------------------------
void menu();//菜单
void menu_go(int n);//主菜单的实现
void add();//通讯信息录入
void show();//通讯信息显示
void del();//通讯信息删除
void modify();//通讯信息修改
void lookup_menu();//通讯信息查询菜单
void lookup_menu_go(int n);//通讯信息查询菜单的实现
void lookup_no();//按编号查询
void lookup_no();//按姓名查询
void lookup_no();//按手机号码查询
void insert();//通讯信息插入
void order();//通讯信息排序
//结构体 -------------------------------------------
struct list
{
char no[20];//编号
char name[20];//姓名
char phone[30];//电话号码
char address[50];//地址
};
struct list a[100];
//--------------------------------------------------
//函数定义------------------------------------------
//主函数
void main()
{
int n = 1;
while(n)
{
menu();
printf("请输入想要执行的功能:");
scanf("%d",&n);
menu_go(n);
}
}
//菜单
void menu()
{
system("cls");
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");
}
//主菜单的实现
void menu_go(int n)
{
if(n == 0)
{
return;
}
else
{
switch (n)
{
case 1:add();break;
case 2:show();printf("按任意键继续");getch();break;
case 3:del();break;
case 4:modify();break;
case 5:lookup();break;
case 6:insert();break;
case 7:order();break;
default:break;
}
}
}
//通讯信息录入
void add()
{
int i, m = 0;
char ch[4] = "y";
FILE* fp;
if ((fp = fopen("data.txt", "a+")) == NULL)
{
printf("文件不存在\n");
return;
}
while (!feof(fp))
{
fscanf(fp,"%s %s %s %s",&a[m].no,&a[m].name,&a[m].phone,&a[m].address);
m++;
}
while(strcmp(ch, "Y") == 0 || strcmp(ch, "y") == 0)
{
printf("请输入联系人信息:\n");
printf("编号:");
scanf("%s", &a[m].no);
printf("姓名:");
scanf("%s", &a[m].name);
printf("手机号码:");
scanf("%s", &a[m].phone);
printf("地址:");
scanf("%s", &a[m].address);
fprintf(fp,"\n%s %s %s %s",&a[m].no,&a[m].nam
C语言课程设计 通讯录管理系统
最新推荐文章于 2023-09-19 21:54:10 发布
本文介绍了一次使用C语言进行课程设计的经历,重点讨论了如何构建一个基本的通讯录管理系统,包括增删查改联系人信息等功能,涵盖了文件操作、结构体应用等C语言核心知识点。
摘要由CSDN通过智能技术生成