用c++的类 实现一个简单的学生管理系统,要求如下: 学生人数最多不超过10人 学生信息包括学号(字符串),姓名(字符串),成绩【非负整数】, 用结构体实现学生信息的存储 可以实现以下功能: 统计不及格人数并打印名单(学号,姓名,成绩)用键盘输入学生信息
时间: 2024-09-11 11:18:03 浏览: 49
在C++中,我们可以创建一个简单的学生管理系统的类来满足上述需求。首先,我们定义一个名为`Student`的结构体来存储学生的相关信息,并创建一个名为`StudentManager`的类来处理相关的操作。以下是具体的实现:
```cpp
#include <iostream>
#include <string>
#include <vector>
// 定义学生结构体
struct Student {
std::string id;
std::string name;
int score;
};
// 学生管理系统类
class StudentManager {
private:
std::vector<Student> students; // 存储学生列表
int max_students = 10;
public:
void addStudent(const std::string& id, const std::string& name, int score) {
if (students.size() >= max_students) {
std::cout << "已达到最大学生数限制,无法添加更多学生。\n";
return;
}
Student new_student = {id, name, score};
students.push_back(new_student);
}
void printStudentsWithFailures() {
int failed_count = 0;
for (const auto& student : students) {
if (student.score < 60) {
std::cout << "学号:" << student.id << ", 姓名:" << student.name << ", 成绩:" << student.score << "\n";
failed_count++;
}
}
std::cout << "共有 " << failed_count << " 名学生不及格。\n";
}
void inputStudentInfo() {
std::string id, name;
int score;
std::cout << "请输入学生信息(学号、姓名、成绩,用空格隔开):";
std::cin >> id >> name >> score;
addStudent(id, name, score);
}
};
int main() {
StudentManager manager;
while (true) {
manager.inputStudentInfo();
manager.printStudentsWithFailures();
char continue_choice;
std::cout << "是否继续添加学生?(y/n): ";
std::cin >> continue_choice;
if (continue_choice != 'y') break;
}
return 0;
}
```
在这个程序中,用户通过`inputStudentInfo()`函数输入新学生的数据,然后调用`printStudentsWithFailures()`查看不及格学生的列表。当达到最大学生数时,会提示用户已经满了。
阅读全文