#include<stdio.h>#include<stdlib.h>#include<string.h>struct person{ char name[10]; int age; int number[11];}per[50];int read() { FILE* fp; //定义文件地址 int i; if ((fp = fopen("手机通讯录.txt", "rb")) == NULL)//判断文件能否打开 //rb读写打开一个二进制文件,允许读和写 { printf("无法打开 \n"); exit(0); } for (i = 1; i!='\0'; i++) //用循环进行录入 { fscanf(fp, "%s %d %d\n", &per[i].name, &per[i].age,&per[i].number); } fclose(fp);}int order(){ int i; printf("请输入你要查询的人:"); char sname[10]; gets(sname); for (i = 1; i!='\0'; i++) if(strcmp(sname,per[i].name)==0) printf("姓名:%s,年龄:%d,号码:%d",per[i].name,per[i].age,per[i].number); else { if(i<50) { FILE* fp; //定义文件地址 int i; if ((fp = fopen("手机通讯录.txt", "rb")) == NULL)//判断文件能否打开 //rb读写打开一个二进制文件,允许读和写 { printf("无法打开 \n"); exit(0); } for (i = 1; i!='\0'; i++) //用循环进行录入 { fprintf(fp, "%s %d %d\n", &per[i].name, &per[i].age,&per[i].number); } fclose(fp); } else printf("出错!"); }}int main(){ printf(" 手机通讯录 "); read; order; return 0;}
好乱