求助 一个简单的程序运行问题
有谁能给我看看这个程序到底哪里出现了问题。不胜感激。#include <iostream>
using namespace std;
struct stu
{
char no[20];
float mark;
char name[35];
int class1;
};
void input(struct stu student)//对于单个学生做操作;
{
cout<<"请输入你的学号"<<endl;
cin>>student.no;
cout<<"请输入你的姓名"<<endl;
cin>>student.name;
cout<<"输入班级(1~4)"<<endl;
cin>>student.class1;
cout<<"输入你此门课程的成绩"<<endl;
cin>>student.mark;
}
void output(struct stu student)
{
cout<<"你的学号是:"<<student.no<<endl;
cout<<"你的姓名是;"<< student.name<<endl;
cout<<"班级是"<<student.class1<<endl;
cout<<"你的成绩为"<<student.mark<<endl;
}
void rankanalysis(struct stu student)
{ float s;
s=student.mark;
if(s>=90) cout<<"你的成绩等级为"<<"A"<<endl;
else if(s>=80)cout<<"你的成绩等级为"<<"B"<<endl;
else if(s>=70)cout<<"你的成绩等级为"<<"C"<<endl;
else if(s>=60) cout<<"你的成绩等级为"<<"D"<<endl;
else cout<<"你的成绩等级为"<<"E"<<endl;
}
//针对所有选课的学生
void shuru()
{ int n;
cout<<"请输入所有选课学生的人数(为5),请输入"<<endl;//设输入的学生总数为5
cin>>n;
cout<<"所有选课的人数为5,开始成绩分析操作。"<<endl;
}
void analysis2(stu a[5])
{ int i,h;
int q=0,w=0,e=0,t=0,y=0;
for ( i=0;i<5;i++)
{
cin>>a[i].mark;
h=(int)a[i].mark/10;}
switch(h)
{
case 10:
case 9:q++; break;
case 8:w++;break;
case 7:e++; break;
case 6:t++; break;
default:y++;break;
}
{
cout<<"A等级的人数为"<<q;
cout<<"B等级的人数为"<<w;
cout<<"C等级的人数为"<<e;
cout<<"D等级的人数为"<<t;
cout<<"E等级的人数为"<<y;
}
{
cout<<"A等级的人数占总人数的百分比为"<<(float) q/5<<endl;
cout<<"B等级的人数占总人数的百分比为"<<(float)w/5<<endl;
cout<<"C等级的人数占总人数的百分比为"<<(float) e/5<<endl;
cout<<"D等级的人数占总人数的百分比为"<<(float) t/5<<endl;
cout<<"D等级的人数占总人数的百分比为"<<(float) y/5<<endl;
}
}
void average(stu a[5])
{
cout<<"求所有学生的平均分"<<endl;
int x;
float average1=0;
for( x=0;x<5;x++)
{ average1+=a[x].mark;}
cout<<"学生的平均分为"<<average1/5<<endl;
}
void main()
{ int j;
stu m[5];//学生的总数为5;
for(j=0;j<=5;j++);
{
input(m[j]);
output(m[j]);
}
shuru();
analysis2(m);
average(m);
}