diff --git a/addressbook+.cpp b/addressbook+.cpp new file mode 100644 index 0000000..e0637e7 --- /dev/null +++ b/addressbook+.cpp @@ -0,0 +1,486 @@ +#include +#include +#include +#include +#include +#define Bytes sizeof(struct linkman) //宏定义 +#define FORMAT "\t%-10s%-10s%-15s%-15s%-20s\n\n" //宏定义输出格式 +#define DATA peo[i].name,peo[i].birthplace,peo[i].tel_1,peo[i].tel_2,peo[i].email //宏定义结构体输出列表 +struct linkman +{ + char name[10]; + char birthplace[10]; + char tel_1[15]; + char tel_2[15]; + char email[20]; +}; +struct linkman peo[100]; +void addman(); +void queryman(); +void delman(); +void update(); +void outputman(); +void menu(); + +void menu()//菜单模块 +{ + system("cls"); + printf("\n\t\t**********通讯录管理系统*********\n"); + printf("\t\t┌-------------------------------┐\n"); + printf("\t\t│ 1.添加联系人 │\n"); + printf("\t\t│ 2.查询联系人 │\n"); + printf("\t\t│ 3.删除联系人 │\n"); + printf("\t\t│ 4.修改联系人信息 │\n"); + printf("\t\t│ 5.输出联系人列表 │\n"); + printf("\t\t│ 0.退出 │\n"); + printf("\t\t└-------------------------------┘\n"); + printf("\t\t请您选择功能(0-5):"); +} + +void tou() //列表头 +{ system("cls"); + printf("\n"); + printf("*************************************联系人列表***************************************\n\n"); + printf("\t姓名\t 籍贯\t 电话号码1\t 电话号码2\t 电子邮箱\n\n"); +} +void wei() //列表尾 +{ + printf("\n**************************************************************************************\n\n"); +} + +int main () +{ + system("mode con: cols=86 lines=30");//设置窗口大小 + int n; + menu(); + scanf("%d",&n); + while(n) + { + switch(n) + { + case 1: + addman(); + getch(); + break; + case 2: + queryman(); + getch(); + break; + case 3: + delman(); + getch(); + break; + case 4: + update(); + getch(); + break; + case 5: + outputman(); + getch(); + break; + default:break; + } + menu(); + scanf("%d",&n); + } + } + + +void addman() +{ +FILE *p1; + int i,n,count=0; // count为联系人个数 + if ((p1=fopen("D:\\我的项目\\linkman.txt","a+"))==NULL) //打开linkman文件 + { + printf("不能打开此文件"); + exit(0); + } + while(!feof(p1)) //feof为检测文件结束符 + { + if(fread(&peo[count],Bytes,1,p1)==1) + count++; + } + fclose(p1); //关闭文件 + if(count==0) + printf("\n\t联系人列表为空!\n\n"); + else + { + system("cls"); //清屏 + outputman(); + } + if ((p1=fopen("D:\\我的项目\\linkman.txt","wb"))==NULL)//以二进制方式打开linkman文件 + { + printf("\t不能打开联系人列表\n"); + return; + } + + for(i=0;i