C++编写一个学生类,学生信息包括姓名、学号、年龄、性别和成绩;统计学生的总人数及总成绩,并输出。
作者:野牛程序员:2024-10-26 17:52:44 C++阅读 2758
C++编写一个学生类,学生信息包括姓名、学号、年龄、性别和成绩;统计学生的总人数及总成绩,并输出。
C++编写一个学生类,学生信息包括姓名、学号、年龄、性别和成绩;统计学生的总人数及总成绩,并输出。
下面是一个用 C++ 编写的学生类示例,包含姓名、学号、年龄、性别和成绩的信息。还提供了统计学生总人数和总成绩的功能。
#include <iostream>
#include <vector>
#include <string>
class Student {
private:
std::string name;
std::string studentID;
int age;
char gender; // 'M' for male, 'F' for female
double score;
public:
// 构造函数
Student(std::string name, std::string studentID, int age, char gender, double score)
: name(name), studentID(studentID), age(age), gender(gender), score(score) {}
// 获取成绩
double getScore() const {
return score;
}
// 输出学生信息
void printInfo() const {
std::cout << "姓名: " << name
<< ", 学号: " << studentID
<< ", 年龄: " << age
<< ", 性别: " << gender
<< ", 成绩: " << score << std::endl;
}
};
class StudentManager {
private:
std::vector<Student> students;
public:
// 添加学生
void addStudent(const Student& student) {
students.push_back(student);
}
// 统计总人数和总成绩
void calculateTotals() const {
int totalStudents = students.size();
double totalScore = 0.0;
for (const auto& student : students) {
totalScore += student.getScore();
}
std::cout << "总人数: " << totalStudents << std::endl;
std::cout << "总成绩: " << totalScore << std::endl;
}
// 输出所有学生信息
void printAllStudents() const {
for (const auto& student : students) {
student.printInfo();
}
}
};
int main() {
StudentManager manager;
// 添加学生信息
manager.addStudent(Student("张三", "2023001", 18, 'M', 85.5));
manager.addStudent(Student("李四", "2023002", 19, 'F', 90.0));
manager.addStudent(Student("王五", "2023003", 17, 'M', 78.0));
// 输出所有学生信息
manager.printAllStudents();
// 统计并输出总人数和总成绩
manager.calculateTotals();
return 0;
}代码说明:
Student类包含学生的基本信息,并提供获取成绩和打印信息的功能。StudentManager类负责管理学生,包括添加学生、统计总人数和总成绩,以及打印所有学生的信息。main函数中创建StudentManager实例,添加学生信息并输出相关统计数据。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

