用c++写大学生选课管理系统
时间: 2023-07-19 17:03:52 浏览: 109
好的,以下是一个简单的大学生选课管理系统的代码示例。
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 学生类
class Student {
public:
Student(string name, int id) : m_name(name), m_id(id) {}
string getName() const { return m_name; }
int getId() const { return m_id; }
private:
string m_name;
int m_id;
};
// 课程类
class Course {
public:
Course(int id, string name) : m_id(id), m_name(name) {}
int getId() const { return m_id; }
string getName() const { return m_name; }
private:
int m_id;
string m_name;
};
// 选课管理系统类
class CourseManagementSystem {
public:
// 添加学生
void addStudent(Student student) {
m_students.push_back(student);
}
// 添加课程
void addCourse(Course course) {
m_courses.push_back(course);
}
// 学生选课
void selectCourse(int studentId, int courseId) {
// 遍历学生列表,找到对应的学生
for (auto& student : m_students) {
if (student.getId() == studentId) {
// 遍历课程列表,找到对应的课程
for (auto& course : m_courses) {
if (course.getId() == courseId) {
// 学生选课
m_selectedCourses[student.getName()].push_back(course.getName());
cout << student.getName() << " 选了 " << course.getName() << endl;
return;
}
}
}
}
cout << "未找到对应的学生或课程" << endl;
}
// 查询学生选课情况
void queryStudentCourses(int studentId) {
// 遍历学生列表,找到对应的学生
for (auto& student : m_students) {
if (student.getId() == studentId) {
// 输出学生选课情况
cout << student.getName() << " 选了以下课程:" << endl;
for (auto& courseName : m_selectedCourses[student.getName()]) {
cout << courseName << endl;
}
return;
}
}
cout << "未找到对应的学生" << endl;
}
private:
vector<Student> m_students; // 学生列表
vector<Course> m_courses; // 课程列表
map<string, vector<string>> m_selectedCourses; // 学生选课情况
};
int main() {
CourseManagementSystem cms;
cms.addStudent(Student("张三", 1));
cms.addStudent(Student("李四", 2));
cms.addCourse(Course(1, "高等数学"));
cms.addCourse(Course(2, "线性代数"));
cms.selectCourse(1, 1);
cms.selectCourse(2, 2);
cms.selectCourse(1, 2);
cms.queryStudentCourses(1);
cms.queryStudentCourses(2);
return 0;
}
```
该示例中,使用了三个类:学生类(Student)、课程类(Course)和选课管理系统类(CourseManagementSystem)。其中,学生类和课程类分别用于存储学生和课程的信息,选课管理系统类用于实现学生选课、查询学生选课情况等功能。主函数中,添加了两个学生和两门课程,并进行了选课操作和查询选课情况操作。
该示例代码仅供参考,实际开发中可能需要根据具体需求进行修改和完善。
阅读全文