#include #include #include #include #include int N=0; struct stu { long int xuehao; /*学号*/ char name[10]; /*姓名*/ char sex[4]; /*性别*/ int age; /*年龄*/ char birth[10]; /*出生年月*/ char address[10]; /*地址*/ char phone[15]; /*电话号码*/ char mail[20]; /*mail*/ }s[40]; void READ() { FILE *fp; fp=fopen("xsxxk.txt","r"); while( fscanf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",&s[N].xuehao,s[N].name,s[N].sex,&s[N].age,s[N].birth,s[N].address,s[N].phone,s[N].mail)!=EOF) N++; fclose(fp); } void WRITE() { int i; FILE *fp; fp=fopen("newstudk.txt","w"); for(i=0;i1) { printf("\n\n 前一组值已输入完毕,请接着输入下一组值!\n"); } fp=fopen("xsxxk.txt","w"); for(j=0;j<=N;j++) { fprintf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[j].xuehao,s[j].name,s[j].sex,s[j].age,s[j].birth,s[j].address,s[j].phone,s[j].mail); } fclose(fp); N++; } system("cls"); /*清屏*/ printf(" |==========================|\n"); printf(" | |\n"); printf(" | 是否继续增加? |\n"); printf(" | |\n"); printf(" | 1.是 2.否 |\n"); printf(" | |\n"); printf(" |==========================|\n"); printf(" 请选择1-2:"); scanf("%d",&a); if(a==2) break; } } void xiugai() /*修改模块*/ { system ("color 5F"); int lgl=1; int x,i=0,k; long int xuehao; char name[10]; struct stu *p; FILE *tp; int lgl1=1; while(lgl1==1) { system("cls"); /*清屏*/ printf(" |==========================================|\n"); printf(" | 请选择修改的人 |\n"); printf(" |==========================================|\n"); printf(" | 1.学号 2.姓名 |\n"); printf(" |==========================================|\n"); printf(" | 3.取消 |\n"); printf(" |==========================================|\n"); printf(" 请选择:"); scanf("%d",&x); switch(x) {case 1: printf("请输入要修改的学生学号:"); scanf("%ld",&xuehao); for(p=s;pxuehao==xuehao) { i=1; int j; //菜单选择项// while(lgl==1) { system("cls"); /*清屏*/ printf("\n\n"); printf(" |=======================================|\n"); printf(" | 请选择要修改的项目: |\n"); printf(" |=======================================|\n"); printf(" | 1.性别 2.年龄 |\n"); printf(" |=======================================|\n"); printf(" | 3.出生日期 4.地址 |\n"); printf(" |=======================================|\n"); printf(" | 5.电话号码 6.mail |\n"); printf(" |=======================================|\n"); printf(" | 7.取消 |\n"); printf(" |=======================================|\n"); printf("请选择想要修改的项目1-7:"); scanf("%d",&j); switch(j) { case 1: printf("新性别:"); scanf("%s",p->sex); break; case 2: printf("新年龄:"); scanf("%d",&p->age); break; case 3: printf("新出生日期:"); scanf("%s",p->birth); break; case 4: printf("新地址:"); scanf("%s",p->address); break; case 5: printf("新电话号码:"); scanf("%s",p->phone); break; case 6: printf("新mail:"); scanf("%s",p->mail); break; case 7: break; } printf("修改后数据如下:\n"); printf("% 6ld% 8s% 6s% 6d% 10s% 10s% 15s% 20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); tp=fopen("xsxxk.txt","w"); for(k=0;kname,name)==0) {i=1; int j; //菜单选择项 while(lgl==1) {system("cls"); /*清屏*/ printf("\n\n"); printf(" |============================|\n"); printf(" |============================|\n"); printf(" | 请选择要修改的项目: |\n"); printf(" |============================|\n"); printf(" | 1.性别 2.年龄 |\n"); printf(" |============================|\n"); printf(" | 3.出生日期 4.地址 |\n"); printf(" |============================|\n"); printf(" | 5.电话号码 6.mail |\n"); printf(" |============================|\n"); printf(" | 7.取消 |\n"); printf(" |============================\n"); printf(" |===========================|\n"); printf("请选择想要修改的项目1-7:"); scanf("%d",&j); switch(j) { case 1: printf("新性别:"); scanf("%s",p->sex); break; case 2: printf("新年龄:"); scanf("%d",&p->age); break; case 3: printf("新出生日期:"); scanf("%s",p->birth); break; case 4: printf("新地址:"); scanf("%s",p->address); break; case 5: printf("新电话号码:"); scanf("%s",p->phone); break; case 6: printf("新mail:"); scanf("%s",p->mail); break; case 7: break; } printf("修改后如下:\n"); printf("% 6ld% 8s% 6s% 6d% 10s% 10s% 15s% 20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); tp=fopen("xsxxk.txt","w"); for(k=0;kxuehao==xuehao) {j=1; if(xs==0) {printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); } } if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char a; scanf("%s",&a); if(a=='y'||a=='Y') lgl=1; if(a=='n'||a=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char b; scanf("%s",&b); if(b=='y'||b=='Y') lgl=1; if(b=='n'||b=='N') lgl=0; } break; case 2: printf("请输入学生姓名:"); scanf("%s",&name); for(p=s;pname,name)==0) {j=1; if(xs==0) {printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); }} if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char c; scanf("%s",&c); if(c=='y'||c=='Y') lgl=1; if(c=='n'||c=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char d; scanf("%s",&d); if(d=='y'||d=='Y') lgl=1; if(d=='n'||d=='N') lgl=0; } break; case 3: printf("请输入学生性别:"); scanf("%s",sex); for(p=s;psex,sex)==0) {j=1; if(xs==0) { printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); }} if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char e; scanf("%s",&e); if(e=='y'||e=='Y') lgl=1; if(e=='n'||e=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char l; scanf("%s",&l); if(l=='y'||l=='Y') lgl=1; if(l=='n'||l=='N') lgl=0; } break; case 4: printf("请输入学生年龄:"); scanf("%d",&age); for(p=s;page==age) {j=1; if(xs==0) { printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); }} if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char u; scanf("%s",&u); if(u=='y'||u=='Y') lgl=1; if(u=='n'||u=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char q; scanf("%s",&q); if(q=='y'||q=='Y') lgl=1; if(q=='n'||q=='N') lgl=0; } break; case 5: printf("请输入学生出生日期:"); scanf("%s",birth); for(p=s;pbirth,birth)==0) {j=1; if(xs==0) { printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); } } if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char a; scanf("%s",&a); if(a=='y'||a=='Y') lgl=1; if(a=='n'||a=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char b; scanf("%s",&b); if(b=='y'||b=='Y') lgl=1; if(b=='n'||b=='N') lgl=0; } break; case 6: printf("请输入学生地址:"); scanf("%s",address); for(p=s;paddress,address)==0) {j=1; system("cls"); if(xs==0) { printf("查询到的信息如下:\n"); xs++; printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");} printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail); }} if(j==0) { printf("\n\n查无此人!\n是否继续查询:(Y/N)"); char a; scanf("%s",&a); if(a=='y'||a=='Y') lgl=1; if(a=='n'||a=='N') lgl=0; } if(j==1) { j=0; printf("是否继续查询:(Y/N)"); char b; scanf("%s",&b); if(b=='y'||b=='Y') lgl=1; if(b=='n'||b=='N') lgl=0; } break; case 7: lgl=0; break; }} } void paixu() /*排序模块*/ { system("color 30"); int i,j; FILE *tp; struct stu temp; for(i=0;is[j].xuehao) { temp=s[j]; s[j]=s[i]; s[i]=temp; } } } tp=fopen("xsxxk.txt","w"); for(i=0;i