- //
- // main.c
- // telNum
- //
- // Created by leon on 15/6/27.
- // Copyright (c) 2015年 Leon. All rights reserved.
- //
- #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[100];
- //定义联系人的个数
- int totalContactCount=0;
- //接受用户输入烦人编号
- int fno;
- //定义数据文件保存的位置
- char *filePath="telbook.data";
- /*************** 函数的声明 ***************/
- int validateInput(int num,int min, int max);
- void init();
- void doAdd();
- void doDelete();
- void doUpdate();
- void doList();
- void doSearchByName();
- int main (int argc,const char * argv[]) {
-
- 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\n");
-
- //提示用户选择一个序号
- printf("请选择1-6之间的功能编号:\n");
- scanf("%d",&fno);
-
- //判断编号是否合法
- validateInput(fno,1,6);
-
- switch(fno) {
- case1:
- //执行添加
- doAdd();
- break;
- case2:
- //执行删除
- doDelete();
- break;
- case3:
- //执行修改
- doUpdate();
- break;
- case4:
- //执行查看
- doList();
- break;
- case5:
- //执行搜索
- doSearchByName();
- break;
- case6:
- //执行退出
- printf("系统正在退出。。。");
- printf("系统已退出");
- return 0;
- break;
-
- default:break;
- }
-
-
-
-
- }
-
-
-
-
- }
- int validateInput(int num,int min, int max){
- if(num<min || num>max){
- printf("非法的输入!");
- return 1;
- }
-
- return 0;
- }
- //添加联系人
- void doAdd(){
-
- printf("您选择的是添加联系人,请按提示操作:\n");
-
- }
- //删除联系人
- void doDelete(){
-
- printf("您选择的是删除联系人,请按提示操作:\n");
-
- }
- //修改联系人
- void doUpdate(){
-
- printf("您选择的是联系修改人,请按提示操作:\n");
-
- }
- //显示所有联系人
- void doList(){
-
- printf("您选择的是查看联系人,联系人如下:\n");
-
- }
- //搜索联系人
- void doSearchByName(){
-
- printf("您选择的是搜索联系人,请按提示操作:\n");
-
- }
- //通讯录初始化
- /*
- 1、尝试性读取数据文件
- 2、如果读取成功,说明文件存在
- 如果存在,要读取联系人数据,保存到联系人数组 contacts
-
- 3、如果读取失败,说明我们是第一次使用通讯录
- 如果是第一次使用
- 1)创建联系人数据文件
- 2)把当前联系人的个数写入到文件中 totalContactCount
- */
- void init(){
- //定义文件指针,并且打开文件
- FILE *fp=fopen(filePath,"r");
-
- if(fp!=NULL){
- //第一步:读取联系人的个数
- fread(&totalContactCount,sizeof(totalContactCount),1,fp);
-
- //第二部:读取每一个联系人
- for(int i=0; i<totalContactCount;i++){
-
- fread(&contacts[i],sizeof(contacts),1,fp);
- }
-
-
- } else{
- //创建文件
- fp=fopen(filePath,"wb");
-
- //写入联系人
- fwrite(&totalContactCount,sizeof(totalContactCount),1,fp);
-
- printf("通讯录文件创建成功~");
- }
-
- //关闭文件指针
- fclose(fp);
-
-
- }
复制代码 |
|