C++设计一个计算机工程学院校友管理系统,设置管理员、校友两个角色,校友的组织按照其原来所属班级,管理员能够对全部校友记录实现“ 增删改查”四项基本功能。
时间: 2023-12-06 17:40:17 浏览: 102
这是一个比较复杂的项目,需要设计多个类和函数来实现。以下是一个简单的实现方案,供参考:
首先,我们需要定义一个校友类 Alumni,用来表示每个校友的信息。该类包含以下成员:
- 姓名 name
- 学号 student_id
- 所属班级 class_name
- 联系方式 contact_info
同时,我们还需要定义一个管理员类 Admin,用来表示管理员的信息。该类包含以下成员:
- 用户名 username
- 密码 password
接下来,我们需要实现一个校友管理系统类 AlumniSystem,用来管理所有的校友记录。该类包含以下成员:
- 校友记录列表 alumni_list
- 管理员列表 admin_list
其中,校友记录列表 alumni_list 是一个 vector<Alumni> 类型的变量,用来存储所有校友的信息;管理员列表 admin_list 是一个 vector<Admin> 类型的变量,用来存储所有管理员的信息。
AlumniSystem 类还需要实现以下函数:
- void addAlumni(Alumni alumni):将一个新的校友记录添加到列表中。
- void removeAlumni(int index):从列表中删除指定索引的校友记录。
- void modifyAlumni(int index, Alumni alumni):修改指定索引的校友记录。
- vector<Alumni> getAlumniByClass(string class_name):按照班级名称获取校友记录列表。
- bool login(string username, string password):管理员登录函数,用来验证用户名和密码是否正确。
接下来是具体实现:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Alumni {
public:
string name;
string student_id;
string class_name;
string contact_info;
Alumni(string name, string student_id, string class_name, string contact_info) {
this->name = name;
this->student_id = student_id;
this->class_name = class_name;
this->contact_info = contact_info;
}
};
class Admin {
public:
string username;
string password;
Admin(string username, string password) {
this->username = username;
this->password = password;
}
};
class AlumniSystem {
private:
vector<Alumni> alumni_list;
vector<Admin> admin_list;
public:
void addAlumni(Alumni alumni) {
alumni_list.push_back(alumni);
}
void removeAlumni(int index) {
alumni_list.erase(alumni_list.begin() + index);
}
void modifyAlumni(int index, Alumni alumni) {
alumni_list[index] = alumni;
}
vector<Alumni> getAlumniByClass(string class_name) {
vector<Alumni> result;
for (auto alumni : alumni_list) {
if (alumni.class_name == class_name) {
result.push_back(alumni);
}
}
return result;
}
bool login(string username, string password) {
for (auto admin : admin_list) {
if (admin.username == username && admin.password == password) {
return true;
}
}
return false;
}
};
int main() {
// 初始化校友管理系统
AlumniSystem system;
// 添加管理员账号
system.admin_list.push_back(Admin("admin", "123456"));
// 添加校友记录
system.addAlumni(Alumni("张三", "20180101", "计算机科学与技术1班", "13912345678"));
system.addAlumni(Alumni("李四", "20180102", "计算机科学与技术1班", "13812345678"));
system.addAlumni(Alumni("王五", "20180103", "计算机科学与技术2班", "13712345678"));
// 根据班级名称获取校友记录
vector<Alumni> alumni_list = system.getAlumniByClass("计算机科学与技术1班");
for (auto alumni : alumni_list) {
cout << alumni.name << " " << alumni.student_id << " " << alumni.class_name << " " << alumni.contact_info << endl;
}
// 管理员登录
if (system.login("admin", "123456")) {
// 修改校友记录
system.modifyAlumni(0, Alumni("张三", "20180101", "计算机科学与技术2班", "13912345678"));
// 删除校友记录
system.removeAlumni(1);
} else {
cout << "管理员登录失败" << endl;
}
// 输出所有校友记录
for (auto alumni : system.alumni_list) {
cout << alumni.name << " " << alumni.student_id << " " << alumni.class_name << " " << alumni.contact_info << endl;
}
return 0;
}
```
阅读全文