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