C++编写一个学生类,学生信息包括姓名、学号、年龄、性别和成绩;统计学生的总人数及总成绩,并输出。
作者:野牛程序员:2024-10-26 17:52:44 C++阅读 2465
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
