void chaxun() { int y,z,i,word=1,nianling,geshu=0;/*y为查询菜单中的变量,z为要查询的学号,geshu记录查询结果中年龄相同或性别相同的学生个数,word用来判断是否有要查询的学生信息*/ char xingming[20],xingbie[10]; printf("\t\t*******************************\n"); printf("\t\t1.按学号查询\n"); printf("\t\t2.按姓名查询\n"); printf("\t\t3.按性别查询"); printf("\t\t4.按年龄查询\n"); printf("\t\t5.查询所有\n"); printf("\t\t*******************************\n"); printf("请输入功能序号:"); scanf("%d",&y); switch(y) { case 1:printf("请输入要查询的学号:"); scanf("%d",&z);
printf(" 姓 名 年龄 性别 学号 分数\n"); for(i=0;i<N;i++) { if(z==stu.number)//由学号来寻找目标学生 { printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score); printf("\n"); word=0;/*若有要查询的学生则word赋值0 下同*/ }; } if(word)/*判断word的值 下同*/ printf("没有您查询的学生信息!\n"); ;break; case 2:printf("请输入要查询的姓名:"); scanf("%s",xingming); printf(" 姓 名 年龄 性别 学号 分数\n"); for(i=0;i<N;i++) { if(strcmp(xingming,stu.name)==0)//姓名字符比较 { printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score); printf("\n"); word=0; }; } if(word) printf("没有您查询的学生信息!\n"); break; case 3:printf("请输入要查询的性别:"); scanf("%s",xingbie); printf(" 姓 名 年龄 性别 学号 分数\n"); for(i=0;i<N;i++)/*将结构体中信息逐一比较*/ { if(strcmp(xingbie,stu.sex)==0) { printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score); printf("\n"); word=0; geshu++;/*若相等个数自增 下同*/ }; } if(word==0) printf("%s生的个数为:%d",xingbie,geshu);/*输出查询性别的学生个数 下同*/ if(word) printf("没有您查询的学生信息!\n"); geshu=0; break; case 4:printf("请输入要查询的年龄:"); scanf("%d",&nianling); printf(" 姓 名 年龄 性别 学号 分数\n"); for(i=0;i<N;i++) { if(nianling==stu.age) { printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score); printf("\n"); word=0; geshu++; }; } if(word==0) printf("%d岁的学生个数为:%d",nianling,geshu);//输出所查询学生的个数 if(word) printf("没有您查询的学生信息!\n"); geshu=0; break; case 5: printf(" 姓 名 年龄 性别 学号 分数\n");/*顶行输出属性*/ printf("\n"); for(i=0;i<=N && stu.number!=0;i++) { printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score); printf("\n"); } break; default :printf("请输入正确的序号!\n"); } }
|