封装一个班级类,包含成员属性:学生分数数组,最大容量20,成员属性len,记录所使用数组的元素个数
成员方法:设置班级人数:void setLen(int len);
输入班级学生分数:void input();
对成绩进行排序:void sort();
输出班级成绩:void output();
要求成员属性为私有权限,成员方法为共有成员
#include <iostream>
using namespace std;
#define maxlen 20
class myclass
{
private:
float score[maxlen];
int len = 0;//下表及个数
public:
//设置班级人数
bool setlen(int len)
{
if(len<maxlen)
{
this->len = len;
return true;
}
else
{
cout<<"错误:输入值大于最大值"<<endl;
return false;
}
}
void input()
{
for(int i=0;i<this->len;i++)
{
cout << "请输入第"<<i+1<<"个学生的分数:";
cin >> this->score[i];
}
}
void sort()
{
float temp;
for(int i=1;i<this->len;i++)
{
int cnt = 0;
for(int j=0;j<this->len-i;j++)
{
if(this->score[j]>this->score[j+1])
{
temp = this->score[j];
this->score[j] = this->score[j+1];
this->score[j+1] = temp;
cnt++;
}
}
if(cnt == 0)
break;
}
}
void output()
{
cout << "学生成绩按升序排序如下:"<<endl;
for(int i=0;i<this->len;i++)
{
cout<<this->score[i]<<" ";
}
cout<<endl;
}
};
int main()
{
myclass cls;
int len;
cout<<"请输入班级人数:";
cin>>len;
if(cls.setlen(len)){
cls.input();
cls.sort();
cls.output();
}
else
cout<<"程序出错结束!"<<endl;
return 0;
}
思维导图