哪位高手帮我看看为什么会出错啊。
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
#include "stdlib.h"
#include "stdio.h"
#define N 50
class Student{
int number;
char name[20];
float chinese,english,math;
public:
Student(){}
Student(int u,char v[20],float x,float y,float z){ //构造函数
number=u;
strcpy(name,v);
chinese=x;
english=y;
math=z;
}
void output(void)
{
float arg;
arg=(chinese+english+math)/3;
cout<<number<<"\t"<<name<<"\t"<<chinese<<"\t"<<english<<"\t"<<math<<"\t"<<arg<<endl;
}
};
int main(int argc, char* argv[])
{
Student stu[N];
char n; //选择参数
int i=1;int m=1; //控制参数
int a;float c,d,e;char b[20];
cout<<"\t\t\t兰州军区学员曲毅的作业。\n"<<endl;
cout<<"\t\t\t 欢迎使用学生管理程序\n";
do {
cout<<"请选择:"<<endl;
cout<<"1、输入信息"<<endl;
cout<<"2、输出信息"<<endl;
cout<<"0、退出"<<endl<<endl;
cin>>n;
switch(n)
{
case '1':
{
cout<<"请输入学号:";
cin>>a;
cout<<"\n姓名:";
cin>>b;
cout<<"\n语文成绩:";
cin>>c;
cout<<"\n数学成绩:";
cin>>d;
cout<<"\n英语成绩:";
cin>>e;
cout<<endl;
Student stu[i](a,b,c,d,e);
i++;
break;}
case '2':
cout<<endl;
cout<<"学号\t"<<"姓名\t"<<"语文\t"<<"数学\t"<<"英语\t"<<"平均成绩"<<endl;
for (;m<i;m++) stu[m].output();m=1;
cout<<endl;
break;
case '0':exit(0);
default:cout<<"输入错误!"<<endl<<endl;
}
}
while (1);
return 0;
}