1.封装一个结构体,结构体中包含一个私有数组,用来存放学生的成绩,包含一个私有变量,用来记录学生个数,
提供一个公有成员函数,void setNum(int num)用于设置学生个数
提供一个公有成员函数:void input(),用来对所有学生的成绩进行输入工作
提供一个公有成员函数:void sort(),用来实现对存储的学生成绩进行降序排序
提供一个公有的成员函数:void show(),用于将所有学生的成绩展示出来
在主程序中,完成相关函数的调用
代码:
#include <iostream>using namespace std;#define MAXs 100 //宏定义最大学生数量struct Student
{
private:int num;
private:double *score=new double[MAXs];
public:void setNum(int num1){num=num1;}
public:void input(){//setNum(num);for(int i=0;i<num;i++){cout<<"请输入学生成绩:";cin>>score[i];}cout<<"输入完毕!"<<endl;}
public:void sort(){for(int i=1;i<num;i++){for(int j=0;j<num-i;j++){if(score[j]<score[j+1]){double temp=score[j];score[j]=score[j+1];score[j+1]=temp;}}}cout<<"降序排序完毕!"<<endl;}
public:void show(){for(int i=0;i<num;i++){cout<<score[i]<<" ";}cout<<endl<<"展示完毕!"<<endl;}
};int main()
{Student stu;int num;cout<<"请输入学生个数:";cin>>num;stu.setNum(num);stu.input();stu.sort();stu.show();return 0;
}
运行结果:
2.思维导图