#include <stdio.h> #include <string.h> #include <stdlib.h> #define NAMELEN 21 #define TELELEN 21
//定义联系人结构体 typedef struct contact{
char name[NAMELEN]; //姓名 char tele[TELELEN]; //电话号码 struct contact *next;//指向下一个联系人
}Contact,*P_List,*Pcontact;
int main(int argc, const char * argv[]) { //函数声明 void readfile(P_List head); void showACont(P_List head); void addCont(P_List head); void deletCont(P_List head); void modiCont(P_List head); void seekCont(P_List head); int exitSys(); //表头 P_List head = (P_List)malloc(sizeof(Contact)); head->next = NULL;
//读取数据文件的内容 readfile(head);
int funNum;//功能序号
//整体while循环 while(1){ //输出界面,提示用户输入相应功能编号 printf("******************************\n"); printf("******* 欢迎使用通讯录 *******\n"); printf("******* 1.添加联系人 *******\n"); printf("******* 2.删除联系人 *******\n"); printf("******* 3.修改联系人 *******\n"); printf("******* 4.查看所有联系人 *******\n"); printf("******* 5.搜索联系人 *******\n"); printf("******* 6.退出系统 *******\n"); printf("******************************\n");
//判断序号是否在范围内 printf("请输入功能序号:"); scanf("%d",&funNum);
while(funNum < 1 || funNum > 6){ printf("功能序号非法,请重新输入:"); scanf("%d",&funNum);
}
//switch来调用相应功能 switch (funNum) { case 1: addCont(head); break; case 2: deletCont(head); break; case 3: modiCont(head); break; case 4: showACont(head); break; case 5: seekCont(head); break; case 6: if (exitSys()==0) return 0; break; default: break; } } return 0; }
|