[求助] 为什么会出现这样的结果?
请高手指点一二,谢谢啊出错提示为:
error C2601: 'main' : local function definitions are illegal
fatal error C1004: unexpected end of file found
感觉也没少大括号啊;
程序如下:
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#define N 10
int count=5;
void px();//将均分由高到低输出
double ave_score();//计算均分
struct student{
char *name;//姓名
int num;//学号
int score[3];//三门课的分数
double PJ;//均分
}stu[N];
double ave_score(int a[3])
{
int s=0;
for(int i=0;i<3;i++)
s+=a[i];
s=s/3;
return s;}
void px() {
int n;
for(int i=0;i<count-1;i++){
double m=stu[i].PJ;
for(int j=i+1;j<count;j++){
if(m<stu[j].PJ)
{m=stu[j].PJ;
n=j;
}
cout<<stu[n].name<<endl<<stu[n].num<<endl<<stu[n].PJ<<endl;
stu[n].PJ=stu[i].PJ;
stu[n].name=stu[i].name;
stu[n].num=stu[i].num;}
}
void main() {
for(int i=0;i<count;i++)
{
cout<<"请输入学号:";
cin>>stu[i].num;
cout<<endl;
cout<<"输入姓名:";
stu[i].name=new char[33];
cin>>stu[i].name;
cout<<endl;
for(int j=0;j<3;j++)
{cout<<"输入第"<<j+1<<"门成绩";
cin>>stu[i].score[j];
cout<<endl;
}
cout<<"三门成绩的平均分是:"<<ave_score(stu[i].score)<<endl;
stu[i].PJ=ave_score(stu[i].score);
}
px();
}