关于程序返回问题
现在编写一个学生信息管理系统,但不知道怎么在输入完学生信息后,在返回菜单选择查询学生信息,程序代码如下#include<stdio.h>#define N 30
int i;
struct student{
char no[10];
char name[10];
char sex[3];
int year;
char phone[15];
char address[50];
float results[5];
}stu[100];
/* 录入函数*/
void setup(){
int j;
for(i=0;i<N;i++)
{
printf("请输入学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
scanf("%s",stu[i].no);
scanf("%s%s%d%s%s",stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
for(j=0;j<5;j++)
scanf("%f",&stu[i].results[j]);
};
}
/*全部信息输出*/
void showall(){
int j;
for(i=0;i<N;i++)
{
printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
for(j=0;j<5;++j)
printf("%2d",stu[i].results[j]);
};
};
/*求平均值*/
void average(){
char str[10];
float aver;
int k;
printf("请输入要查询平均值的学生学号\n");
for(i=0;i<10;i++)
scanf("%s",str[i]);
for(i=0;i<N;i++){
if(str==stu[i].no)
{
for(k=0;k<5;k++)
aver+=stu[i].results[k];
break;
}
}
aver=aver/5;
printf("此学生的成绩平均分为%f",aver);
};
/*查询平均分最高的学生*/
void maxaverage(){
float num[N];
float ave;
int n=0;
int l,j;
int p;
for(l=0;l<N;l++)
{
float sum=0;
for(p=0;p<5;p++)
sum+=stu[l].results[p];
ave=sum/5;
num[l]=ave;
};
for(i=1;i<N;i++)
{
if(num[n]<num[i])
n=i;
};
printf("平均分最高的学生信息为\n");
printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
printf("%s %s %s %d %s %s %f",stu[n].no,stu[n].name,stu[n].sex,&stu[n].year,stu[n].phone,stu[n].address);
for(j=0;j<5;++j)
printf("%2d",stu[i].results[j]);
}
/*通过学号查询学生的成绩*/
void findno(){
char st[10];
int j;
printf("请输入要查询学生的学号");
for(i=0;i<10;i++)
scanf("%s",st[i]);
for(i=0;i<N;i++)
{
if(st==stu[i].no){
printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
for(j=0;j<5;++j)
printf("%2d",stu[i].results[j]);
};
};
};
/*通过名字查询学生的成绩*/
void findname(){
char na[10];
int b;
printf("请输入要查询学生的姓名");
for(i=0;i<10;i++)
scanf("%s",na[i]);
for(i=0;i<N;i++)
{
if(na==stu[i].name)
{
printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
for(b=0;b<5;++b)
printf("%2d",stu[i].results[b]);
};
};
};
void main(){
int a;
printf("**********************************************************\n");
printf("* *\n");
printf("* XX中学学生管理系统 *\n");
printf("**********************************************************\n");
printf("*请选择功能: *\n");
printf("* 1.输入学生信息 *\n");
printf("* 2.打印学生信息 *\n");
scanf("%d",&a);
switch(a)
{
case 1:
{
setup();
break;
}
case 2:
{
int u;
printf("**********************************************************\n");
printf("* *\n");
printf("* XX中学学生管理系统 *\n");
printf("**********************************************************\n");
printf("*请选择功能: *\n");
printf("* 1.输出全部学生信息 *\n");
printf("* 2.查询学生的平均分 *\n");
printf("* 3.查询平均分最高的学生成绩 *\n");
printf("* 4.按姓名查询信息 *\n");
printf("* 5.按学号查询信息 *\n");
scanf("%d",&u);
switch(u)
{
case 1:
showall();
break;
case 2:
average();
break;
case 3:
maxaverage();
break;
case 4:
findname();
break;
case 5:
findno();
break;
}
}
}
}