求求大家帮我想一想这道C++题目,谢谢

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

给你做了一下,人数设定为5个,如果人数需要改,你把循环的个数和数组数改一下就可以了,你看看吧。
#include <iostream.h>
#include <string.h>

class student
{
public:
int number;
char name[20];
float score;
bool operator < (student b)
{
if(strcmp(this->name,b.name)<0)
return false;
else
return true;
}
};

void main( )
{
cout<<"请输入5个学生的信息。"<<endl;
student stu[5];

int i,j;

for(i=0;i<5;i++)
{
cout<<"第"<<i+1<<"个学生名称:"<<endl;
cin>>stu[i].name;
cout<<"第"<<i+1<<"个学生学号:"<<endl;
cin>>stu[i].number;
cout<<"第"<<i+1<<"个学生成绩:"<<endl;
cin>>stu[i].score;
}
cout<<endl;

student temp;
cout<<"Old data is:"<<endl