帮我看看这个C++问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 17:58:12
这个题目是:编写程序,N个学生(学生记录包括学号、姓名、成绩),要求主函数分别调用各函数实现:
(1) 从键盘输入n个学生记录;
(2) 重载“ < ”运算符,对学生结构类型进行比较(以名字作为比较);
(3) 对n个学生记录按名字升序进行冒泡排序;
(4) 输出n个学生记录。
注:主函数中,排序前后的结果均要输出。
说明:要求用倒strcmp函数

#include<iostream.h>
class student{
const int n;

struct stu{
int num;
char *name;
float score;
}ss[n];

public:
student(int m):n(m){};
void getstu();
void bubblesort();
void show();
friend int operate<(stu s1,stu s2);
};

void student::getstu(){
int i=0;
char str[20];
while(i<n){
cout<<"please input num,name,score:"<<flush;
cin>>ss[i].num>>str>>ss[i].score;
ss[i].name=new char[strlen(str+1)];
strcpy(ss[i].name,str);
i++;
}
}

void student::bubblesort(){
for(int i=0;i<n;i++)
for(int j=0;j<n-i;j++)
if(ss[j]>ss[j+1])
{
stu tmp=ss[j];
ss[j]=ss[j+1];
ss[j+1]=tmp;
}
}

void student::show(){
cout<<setw(10)<<"num"<<setw(20)<<"name"<<setw(10)<<"score\n";<