通讯录写好后 存好几个联系人和电话 结束程序 重新运行 上一次写的就少一个 而且多了 一行空白 能帮我看看 是写错了 还是Xcode别的什么原因~字数限制我只能分开发了~
*/
#include <stdio.h> #include <string.h> /******** 宏定义 ******/ #define N 100 //定义通讯录的容量 #define NAMELEN 22 #define NUMLEN 12
//*************** 定义部分 ******** //定义联系人的结构体 typedef struct{ //联系人 char name[NAMELEN]; // 电话号码 char telNum[NUMLEN]; }Person;
//存储所有的联系人 的数组 Person contacts[N];//能够存储一百个联系人
//定义联系人的个数 int totalContactCount=0; //接受用户输入的编号 int fno; //定义数据文件保存的位置 char *filePath = "telbook.data"; //**************** 函数的声明部分********** int validataInput(int num,int min,int max); void init(); void doAdd(); void writeFile(); void doDelete(); void doUpdate(); void doList(); void doSearchByName();
int main(int argc, const char * argv[]) { /** 1、引入头文件 2、进行必要的宏定义 3、定义文件名称变量、联系人数组、联系人结构体 4、定义函数,并进行函数声明 5、编写循环控制程序 6、显示操作界面 7、根据编号执行不同的函数 */ init(); printf("通讯录初始化完成!\n"); while (1) { printf("\n"); //软件界面显示出来 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("请选择1-6之间的功能编号:\n"); scanf("%d",&fno); //判断编号是否合法 validataInput(fno, 1, 6); switch (fno) { case 1: //执行添加 doAdd(); break; case 2: //执行删除 doDelete(); break; case 3: //执行修改 doUpdate(); break; case 4: //执行显示所有联系人 doList(); break; case 5: //执行查找 doSearchByName(); break; case 6: //执行退出系统 printf("系统长在退出...\n"); printf("系统已经退出!\n"); return 0; break; default: break; } } return 0; }
//验证输入是否合法 int validataInput(int num,int min,int max){ if (num<min||num>max) { printf("非法的输入!"); return 1; } return 0; }
|