- 整理思维导图
- 定义一个Student结构体,里面的成员有公有成员name、age,私有成员:score,从堆区连续分配3个结构体大小的空间,从键盘上输入3个学生的信息,分别存放到对应的位置上,按成绩的升序排序后输出三名学生的信息。
#include <iostream>
using namespace std;
struct Student
{
string name;
int age;
private:
int score;
public:
void get(int get_socre)
{
score=get_socre;
}
int show()
{
return score;
}
};
int main()
{
struct Student *stu;
int get_socre;
stu=new Student[3]{};
for (int i=0;i<3;i++) {
cout << "姓名:";
getline(cin,stu[i].name);
//getchar();
cout << "年龄:";
cin >>stu[i].age;
getchar();
cout << "分数:";
cin >> get_socre;
stu[i].get(get_socre);
while(getchar()!='\n');
}
for (int i=0;i<2;i++) {
Student tem;
for (int j=0;j<2-i;j++) {
if(stu[j].show()>stu[j+1].show())
{
tem=stu[j];
stu[j]=stu[j+1];
stu[j+1]=tem;
}
}
}
for (int i=0;i<3;i++) {
cout << "姓名:";
cout << stu[i].name <<endl;
cout << "年龄:";
cout <<stu[i].age << endl;
cout << "分数:";
stu[i].show();
}
cout << "Hello World!" << endl;
return 0;
}