用C++写学生成绩管理系统中基本数据管理功能:包括院系管理,专业管理(设置院系下面的专业),班级管理(设置专业下面的班级),课程管理(设置相应专业下面的课程)和管理人员与学生两种身份登陆系统的代码
时间: 2024-03-13 08:44:29 浏览: 79
以下是一个简单的C++学生成绩管理系统的代码,包括基本的数据管理功能,如院系管理、专业管理、班级管理和课程管理,以及管理人员和学生身份的登陆系统。
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Course {
public:
string name;
int credit;
Course(string n, int c) : name(n), credit(c) {}
};
class Major {
public:
string name;
vector<Course> courses;
Major(string n) : name(n) {}
void add_course(string name, int credit) {
Course c(name, credit);
courses.push_back(c);
}
};
class Department {
public:
string name;
vector<Major> majors;
Department(string n) : name(n) {}
void add_major(string name) {
Major m(name);
majors.push_back(m);
}
};
class Admin {
public:
string username;
string password;
Admin(string u, string p) : username(u), password(p) {}
};
class Student {
public:
string name;
string id;
string password;
vector<Course> courses;
Student(string n, string i, string p) : name(n), id(i), password(p) {}
};
class Class {
public:
Major major;
string name;
vector<Student> students;
Class(Major m, string n) : major(m), name(n) {}
void add_student(string name, string id, string password) {
Student s(name, id, password);
students.push_back(s);
}
};
int main() {
vector<Department> departments;
Department d("计算机科学与技术学院");
departments.push_back(d);
// 添加专业
Major m("软件工程");
m.add_course("数据结构", 4);
m.add_course("操作系统", 4);
m.add_course("计算机网络", 3);
d.add_major(m);
// 添加班级
Class c(m, "软件工程1701班");
c.add_student("张三", "170101", "123456");
c.add_student("李四", "170102", "123456");
m.classes.push_back(c);
// 管理员登录
Admin admin("admin", "123456");
string username, password;
cout << "请输入管理员用户名:";
cin >> username;
cout << "请输入管理员密码:";
cin >> password;
if (username == admin.username && password == admin.password) {
cout << "管理员登录成功!" << endl;
// 进入管理员界面
// ...
} else {
cout << "管理员用户名或密码错误!" << endl;
}
// 学生登录
string id, pwd;
cout << "请输入学生学号:";
cin >> id;
cout << "请输入登录密码:";
cin >> pwd;
for (auto &c : m.classes) {
for (auto &s : c.students) {
if (s.id == id && s.password == pwd) {
cout << "学生登录成功!" << endl;
// 进入学生界面
// ...
return 0;
}
}
}
cout << "学生学号或密码错误!" << endl;
return 0;
}
```
在这个例子中,我们使用了类来表示院系、专业、班级、课程、管理员和学生等实体,使用容器类`vector`来存储多个实体。在`Main`函数中,我们首先创建了一个院系对象,然后向其中添加了一个专业,再向专业中添加了多门课程以及一个班级和几个学生。接下来,我们实现了管理员和学生的登陆系统,根据输入的用户名和密码,判断是否登陆成功,并进入相应的界面。
阅读全文