选课管理系统内容要求:管理员和学生登陆系统的帐号和密码,初始都分别为管理员和学生的学号,登陆后密码可以修改。其中管理员的职位可以是管理员。管理员和非管理员的大人及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课的人的信息进行增加、删除、修改、查询。教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。
可以看看我的博客找找灵感
以下内容引用GPT的回答:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义学生类
class Student {
private:
string studentID;
string password;
string name;
public:
Student(string id, string pwd, string n) {
studentID = id;
password = pwd;
name = n;
}
string getID() {
return studentID;
}
string getPassword() {
return password;
}
string getName() {
return name;
}
};
// 定义管理员类
class Administrator {
private:
string adminID;
string password;
public:
Administrator(string id, string pwd) {
adminID = id;
password = pwd;
}
string getID() {
return adminID;
}
string getPassword() {
return password;
}
};
// 定义课程类
class Course {
private:
string courseName;
int credit;
public:
Course(string name, int c) {
courseName = name;
credit = c;
}
string getName() {
return courseName;
}
int getCredit() {
return credit;
}
};
// 定义教师类
class Teacher {
private:
string teacherID;
string password;
string name;
public:
Teacher(string id, string pwd, string n) {
teacherID = id;
password = pwd;
name = n;
}
string getID() {
return teacherID;
}
string getPassword() {
return password;
}
string getName() {
return name;
}
};
// 定义选课系统类
class CourseSelectionSystem {
private:
Administrator admin;
vector<Student> students;
vector<Teacher> teachers;
vector<Course> courses;
public:
CourseSelectionSystem(string adminID, string adminPwd) : admin(adminID, adminPwd) {}
// 管理员登录
bool adminLogin(string id, string pwd) {
if (id == admin.getID() && pwd == admin.getPassword()) {
return true;
}
return false;
}
// 学生登录
Student* studentLogin(string id, string pwd) {
for (int i = 0; i < students.size(); i++) {
if (id == students[i].getID() && pwd == students[i].getPassword()) {
return &students[i];
}
}
return nullptr;
}
// 教师登录
Teacher* teacherLogin(string id, string pwd) {
for (int i = 0; i < teachers.size(); i++) {
if (id == teachers[i].getID() && pwd == teachers[i].getPassword()) {
return &teachers[i];
}
}
return nullptr;
}
// 添加学生
void addStudent(string id, string pwd, string name) {
Student newStudent(id, pwd, name);
students.push_back(newStudent);
}
// 添加教师
void addTeacher(string id, string pwd, string name) {
Teacher newTeacher(id, pwd, name);
teachers.push_back(new
Teacher);
}
// 添加课程
void addCourse(string name, int credit) {
Course newCourse(name, credit);
courses.push_back(newCourse);
}
// 管理员发布选课信息
void publishCourseInfo() {
cout << "----- 选课信息 -----" << endl;
for (int i = 0; i < courses.size(); i++) {
cout << "课程名称:" << courses[i].getName() << ",学分:" << courses[i].getCredit() << endl;
}
cout << "-------------------" << endl;
}
// 学生选课
void selectCourse(Student* student, string courseName) {
cout << "学生 " << student->getName() << " 选课:" << courseName << endl;
}
// 学生查看选课情况
void viewCourseSelection(Student* student) {
cout << "学生 " << student->getName() << " 的选课情况:" << endl;
// TODO: 根据学生的选课情况进行输出
}
// 学生查看成绩
void viewCourseGrade(Student* student) {
cout << "学生 " << student->getName() << " 的成绩:" << endl;
// TODO: 根据学生的成绩情况进行输出
}
// 教师查看学生的成绩
void viewStudentGrades(Teacher* teacher) {
cout << "教师 " << teacher->getName() << " 查看学生成绩:" << endl;
// TODO: 根据教师所授课程的学生成绩情况进行输出
}
};
int main() {
CourseSelectionSystem system("管理员", "admin123");
system.addStudent("20210001", "password1", "张三");
system.addStudent("20210002", "password2", "李四");
system.addTeacher("T001", "teacher123", "王老师");
system.addTeacher("T002", "teacher456", "赵老师");
system.addCourse("C001", 3);
system.addCourse("C002", 4);
// 管理员登录
if (system.adminLogin("管理员", "admin123")) {
cout << "管理员登录成功!" << endl;
// 发布选课信息
system.publishCourseInfo();
}
// 学生登录
Student* student = system.studentLogin("20210001", "password1");
if (student != nullptr) {
cout << "学生 " << student->getName() << " 登录成功!" << endl;
// 学生选课
system.selectCourse(student, "C001");
system.selectCourse(student, "C002");
// 学生查看选课情况
system.viewCourseSelection(student);
// 学生查看成绩
system.viewCourseGrade(student);
}
// 教师登录
Teacher* teacher = system.teacherLogin("T001", "teacher123");
if (teacher != nullptr) {
cout << "教师 " << teacher->getName() << " 登录成功!" << endl;
// 教师查看学生的成绩
system.viewStudentGrades
(teacher);
}
return 0;
}
这段代码实现了选课管理系统的基本功能要求,包括管理员登录、学生登录、教师登录、发布选课信息、学生选课、学生查看选课情况、学生查看成绩、教师查看学生的成绩等操作。你可以根据自己的需求进一步完善和扩展该代码。