1.封装一个结构体,结构体中包含一个私有数组,用来存放学生的成绩,包含一个私有变量,用来记录学生个数,
提供一个公有成员函数,void setNum(int num)用于设置学生个数
提供一个公有成员函数:void input(),用来对所有学生的成绩进行输入工作
提供一个公有成员函数:void sort(),用来实现对存储的学生成绩进行降序排序
提供一个公有的成员函数:void show(),用于将所有学生的成绩展示出来
在主程序中,完成相关函数的调用
代码:
c
#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.思维导图