学生管理系统(C++)

#include <iostream>  
#include <vector>  
#include <fstream>  
#include <string>  
#include <sstream>  
#include <algorithm>  
using namespace std;
struct Student {
    std::string name;
    int id;       
    int age;      
    std::string grade;
    std::string classNumber;
};
class StudentManagementSystem {
private:
    std::vector<Student> students;

    auto findStudent(int id) -> decltype(students.begin()) {
        return std::find_if(students.begin(), students.end(),
            [&](const Student& student) { return student.id == id; });
    }

    auto findStudentByName(const std::string& name) -> decltype(students.begin()) {
        return std::find_if(students.begin(), students.end(),
            [&](const Student& student) { return student.name == name; });
    }

public:
    void addStudent(const Student& student) {
        students.push_back(student);
    }

    bool deleteStudent(int id) {
        auto it = findStudent(id);
        if (it != students.end()) {
            students.erase(it);
            return true;
        }
        return false;
    }

    bool deleteStudentByName(const std::string& name) {
        auto it = findStudentByName(name);
        if (it != students.end()) {
            students.erase(it);
            return true;
        }
        return false;
    }
    void setBackgroundBlue() {
        std::cout << "\033[44m";  
    }

    void displayStudents() const {
        for (const auto& student : students) {
            std::cout << "姓名: " << student.name << ", 学号: " << student.id << ", 年龄: " << student.age
                << ", 年级: " << student.grade << ", 班级: " << student.classNumber << std::endl;
        }
    }

    void saveToFile(const std::string& filename) c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值