课题3:通讯录管理系统 设计内容: 设计一个通讯录管理系统,以实现以下功能:信息添加、查询、修改、删除、排序等功能。 设计要求: 1) 每条信息至包含 :姓名、电话、工作单位等信息 2) 作为一个完整的系统,应具有友好的界面和较强的容错能力 预览: 代码:
#include
#include
#include
#include
#define LEN sizeof(struct list)
#define DATA a[i].num,a[i].name,a[i].job,a[i].address
#define FORMAT "\t\t || %-12d %-12s %-19s %-20s ||\n"
void in();
void menu();
void search();
void del();
void show();
void modify();
void insert();
void order();
void total();
struct list
{
int num; //号码
char name[15]; //姓名
char job[30]; //工作单位
char address[30]; //地址
};
struct list a[50];
void main()
{
system("color 5e\n");
menu();
int n;
scanf("%d", &n);
while (n)
{
switch (n)
{
case 1:in(); break;
case 2:search(); break;
case 3:del(); break;
case 4:modify(); break;
case 5:insert(); break;
case 6:order(); break;
case 7:total(); break;
case 8:show(); break;
default:break;
}
getch();
menu();//执行完后显示菜单
scanf("%d", &n);
}
}
void menu()
{
system("cls");
printf("\n\n\n");
printf("\t\t\t\t\t**************************************\n");
printf("\t\t\t\t\t************通讯录管理系统************\n");
printf("\t\t\t\t\t======================================\n");
printf("\t\t\t\t\t* 1.录入联系人信息 *\n");
printf("\t\t\t\t\t* 2.查找联系人信息 *\n");
printf("\t\t\t\t\t* 3.删除联系人信息 *\n");
printf("\t\t\t\t\t* 4.修改联系人信息 *\n");
printf("\t\t\t\t\t* 5.插入联系人信息 *\n");
printf("\t\t\t\t\t* 6.排序 *\n");
printf("\t\t\t\t\t* 7.统计联系人总数 *\n");
printf("\t\t\t\t\t* 8.显示所有联系人 *\n");
printf("\t\t\t\t\t* 0.退出系统 *\n");
printf("\t\t\t\t\t======================================\n");
printf("\t\t\t\t\t**************************************\n");
printf("\t\t\t\t\t 请选择(0-8):");
}
void in()
{
int i, m = 0;
char ch[2];
FILE* fp;
if ((fp = fopen("data.txt", "a+")) == NULL)
{
printf("\t\t 文件不存在! \n");
return;
}
while (!feof(fp))
{
if (fread(&a[m], LEN, 1, fp) == 1)
m++;
}
fclose(fp);
if (m == 0)
{
printf("\t\t 文件中没有记录!\n");
}
else
{
show();
}
if ((fp = fopen("data.txt", "a+")) == NULL)
{
printf("\t\t 文件不存在!\n");
return;
}
printf("\t\t 是否输入联系人信息(y/n):");
scanf("%s", ch);
while (strcmp(ch, "Y") == 0 || strcmp(ch, "y") == 0)
{
printf("\t\t 电话:");
scanf("%d", &a[m].num);
for (i = 0; i |