编写一个C++类,完成一个学生3门课:语文、数学、英语的总成 绩、平均分、及百分与五进制的转化。
时间: 2024-09-14 07:14:25 浏览: 39
在C++中,我们可以创建一个名为`Student`的类,包含成员变量如名字、学号以及学生的各科成绩。然后定义方法来计算总成绩、平均分、百分比以及将成绩转换为五进制。下面是一个简单的实现示例:
```cpp
#include <iostream>
#include <string>
class Student {
private:
std::string name;
int id;
float语文_score;
float 数学_score;
float 英语_score;
public:
// 构造函数
Student(const std::string& _name, int _id,
float _语文_score, float _数学_score, float _英语_score)
: name(_name), id(_id), 语文_score(_语文_score),
数学_score(_数学_score), 英语_score(_英语_score) {}
// 总成绩
float getTotalScore() const {
return 语文_score + 数学_score + 英语_score;
}
// 平均分
float getAverageScore() const {
return getTotalScore() / 3.0f;
}
// 百分制
void toPercentage() const {
float total = getTotalScore();
std::cout << "百分制成绩: " << total * 100 << "%\n";
}
// 五进制转换 (简化版本,只适用于整数部分)
std::string toQuinary(int score) const {
std::string quinary;
while (score > 0) {
quinary = char(score % 5 + '0') + quinary;
score /= 5;
}
if (quinary.empty()) {
quinary = '0';
}
return quinary;
}
// 五进制总成绩
std::string getTotalQuinary() const {
return toQuinary(int(getTotalScore()));
}
// 打印信息
void printInfo() const {
std::cout << "姓名: " << name << "\n"
<< "学号: " << id << "\n"
<< "语文: " << 语文_score << ", 数学: " << 数学_score << ", 英语: " << 英语_score << "\n"
<< "总成绩: " << getTotalScore() << ", 平均分: " << getAverageScore()
<< ", 五进制总成绩: " << getTotalQuinary() << "\n";
}
};
int main() {
Student student("张三", 1001, 85.0, 90.0, 88.5);
student.printInfo();
student.toPercentage();
return 0;
}
```
在这个例子中,我们创建了一个`Student`类,它有构造函数用于初始化学生信息,以及一些公共方法来获取成绩信息并执行相应的转换。
阅读全文