你的int input()函数没看明白,返回值是敢嘛的,以及while循环好象是错的
void output(int m)
{
system("cls"); // 清屏
std::cout << "学号:" << stu[m].num << " "
<< "姓名:" << stu[m].name << " "
<< "成绩1" << stu[m].c1 << " "
<< "成绩2" << stu[m].c2 << " "
<< "成绩3" << stu[m].c3 << " "
<< "平均成绩" << stu[m].si;
}
void input()
{
if ( p >= 50 )
{ return; }
char name[20]; //姓名
int num; //学号
int g1; //成绩1
int g2; //..
int g3; //..
int ave; //平均成绩
system("cls");
std::cout << "请输入名字:"
std::cin >> name;
std::cout << "\n请输入学号";
std::cin >> num;
std::cout <<"\n请输入成绩1";
std::cin >> g1;
std::cout <<"\n请输入成绩2";
std::cin >> g2;
std::cout <<"\n请输入成绩3";
std::cin >> g3;
std:::cout<< "\n请输入平均成绩";
std::cin >> ave;
student tf;
tf.name=name;
tf.c1=g1;
tf.c2=g2;
tf.c3=g3;
tf.si=ave;
tf.num=num;
stu[p]=tf;
p++;
}
void add() //是添加拉
{
input()
}
void delete(int s)
{
for ( int a=s; a < p; a++ )
{
stu[a]=stu[a+1];
}
student va;
va.name="";
va.si=0;
va.num=0;
va.c1=0;
va.c2=0;
va.c3=0;
stu[p]=va;
p--;
}
最后排序就自己完成吧