用C++写高校员工信息管理系统,人员包括教师,实验员,行政人员,教师兼行政人员,功能包括添加,查询,显示,编辑,删除,统计,保存,读取

时间: 2023-08-04 11:07:02 浏览: 22
好的,这个高校员工信息管理系统可以分为以下几个模块: 1. 员工类(Teacher、LabStaff、Admin、TeacherAdmin):这些类都是继承于基类Employee,每个员工类都包含一些特定属性(如教师类包含授课科目等),以及一些公共属性(如姓名、性别、年龄等)和方法(如获取员工信息、修改员工信息等)。 2. 员工管理类(EmployeeManager):这个类用于实现对员工信息的添加、查询、显示、编辑、删除、统计、保存、读取等功能。其中,添加和编辑功能需要根据用户选择的员工类型创建相应的对象,并向对象中添加员工信息。查询和删除功能需要根据用户输入的员工ID进行查找。统计功能用于计算各类员工的数量和平均年龄等信息。保存和读取功能用于将员工信息存储到文件中或从文件中读取员工信息。 3. 界面类(Interface):这个类用于实现与用户交互的界面,包括菜单、输入输出等。 下面是一个简单的示例代码: ```cpp #include <iostream> #include <vector> #include <fstream> using namespace std; // 员工基类 class Employee { public: Employee() {} Employee(int id, string name, char sex, int age) : m_id(id), m_name(name), m_sex(sex), m_age(age) {} virtual void display() = 0; // 显示员工信息 int getId() { return m_id; } string getName() { return m_name; } char getSex() { return m_sex; } int getAge() { return m_age; } void setName(string name) { m_name = name; } void setSex(char sex) { m_sex = sex; } void setAge(int age) { m_age = age; } protected: int m_id; // 员工ID string m_name; // 姓名 char m_sex; // 性别 int m_age; // 年龄 }; // 教师类 class Teacher : public Employee { public: Teacher() {} Teacher(int id, string name, char sex, int age, string course) : Employee(id, name, sex, age), m_course(course) {} void display() { cout << "ID: " << m_id << endl; cout << "Name: " << m_name << endl; cout << "Sex: " << m_sex << endl; cout << "Age: " << m_age << endl; cout << "Course: " << m_course << endl; } string getCourse() { return m_course; } void setCourse(string course) { m_course = course; } private: string m_course; // 授课科目 }; // 实验员类 class LabStaff : public Employee { public: LabStaff() {} LabStaff(int id, string name, char sex, int age, string lab) : Employee(id, name, sex, age), m_lab(lab) {} void display() { cout << "ID: " << m_id << endl; cout << "Name: " << m_name << endl; cout << "Sex: " << m_sex << endl; cout << "Age: " << m_age << endl; cout << "Lab: " << m_lab << endl; } string getLab() { return m_lab; } void setLab(string lab) { m_lab = lab; } private: string m_lab; // 实验室名称 }; // 行政人员类 class Admin : public Employee { public: Admin() {} Admin(int id, string name, char sex, int age, string department) : Employee(id, name, sex, age), m_department(department) {} void display() { cout << "ID: " << m_id << endl; cout << "Name: " << m_name << endl; cout << "Sex: " << m_sex << endl; cout << "Age: " << m_age << endl; cout << "Department: " << m_department << endl; } string getDepartment() { return m_department; } void setDepartment(string department) { m_department = department; } private: string m_department; // 部门名称 }; // 教师兼行政人员类 class TeacherAdmin : public Teacher, public Admin { public: TeacherAdmin() {} TeacherAdmin(int id, string name, char sex, int age, string course, string department) : Employee(id, name, sex, age), Teacher(id, name, sex, age, course), Admin(id, name, sex, age, department) {} void display() { cout << "ID: " << m_id << endl; cout << "Name: " << m_name << endl; cout << "Sex: " << m_sex << endl; cout << "Age: " << m_age << endl; cout << "Course: " << Teacher::getCourse() << endl; cout << "Department: " << Admin::getDepartment() << endl; } }; // 员工管理类 class EmployeeManager { public: EmployeeManager() {} // 添加员工 void addEmployee() { int id, age; string name; char sex, type; cout << "Please input ID: "; cin >> id; cout << "Please input Name: "; cin >> name; cout << "Please input Sex(M/F): "; cin >> sex; cout << "Please input Age: "; cin >> age; cout << "Please select employee type(T/L/A/TA): "; cin >> type; Employee *employee = NULL; switch (type) { case 'T': string course; cout << "Please input Course: "; cin >> course; employee = new Teacher(id, name, sex, age, course); break; case 'L': string lab; cout << "Please input Lab: "; cin >> lab; employee = new LabStaff(id, name, sex, age, lab); break; case 'A': string department; cout << "Please input Department: "; cin >> department; employee = new Admin(id, name, sex, age, department); break; case 'TA': string course_ta, department_ta; cout << "Please input Course: "; cin >> course_ta; cout << "Please input Department: "; cin >> department_ta; employee = new TeacherAdmin(id, name, sex, age, course_ta, department_ta); break; default: cout << "Invalid type!" << endl; return; } m_employeeList.push_back(employee); cout << "Add employee successfully!" << endl; } // 查询员工 void queryEmployee() { int id; cout << "Please input ID: "; cin >> id; for (int i = 0; i < m_employeeList.size(); i++) { if (m_employeeList[i]->getId() == id) { m_employeeList[i]->display(); return; } } cout << "Employee not found!" << endl; } // 显示所有员工 void displayAllEmployee() { for (int i = 0; i < m_employeeList.size(); i++) { m_employeeList[i]->display(); cout << endl; } } // 编辑员工信息 void editEmployee() { int id; cout << "Please input ID: "; cin >> id; for (int i = 0; i < m_employeeList.size(); i++) { if (m_employeeList[i]->getId() == id) { cout << "Please input new Name: "; string name; cin >> name; cout << "Please input new Sex(M/F): "; char sex; cin >> sex; cout << "Please input new Age: "; int age; cin >> age; m_employeeList[i]->setName(name); m_employeeList[i]->setSex(sex); m_employeeList[i]->setAge(age); cout << "Edit employee successfully!" << endl; return; } } cout << "Employee not found!" << endl; } // 删除员工 void deleteEmployee() { int id; cout << "Please input ID: "; cin >> id; for (vector<Employee*>::iterator it = m_employeeList.begin(); it != m_employeeList.end(); it++) { if ((*it)->getId() == id) { m_employeeList.erase(it); cout << "Delete employee successfully!" << endl; return; } } cout << "Employee not found!" << endl; } // 统计员工信息 void statEmployee() { int teacherCount = 0, labStaffCount = 0, adminCount = 0, teacherAdminCount = 0; int totalAge = 0; for (int i = 0; i < m_employeeList.size(); i++) { if (dynamic_cast<Teacher*>(m_employeeList[i])) { teacherCount++; } else if (dynamic_cast<LabStaff*>(m_employeeList[i])) { labStaffCount++; } else if (dynamic_cast<Admin*>(m_employeeList[i])) { adminCount++; } else if (dynamic_cast<TeacherAdmin*>(m_employeeList[i])) { teacherAdminCount++; } totalAge += m_employeeList[i]->getAge(); } cout << "Teacher count: " << teacherCount << endl; cout << "Lab staff count: " << labStaffCount << endl; cout << "Admin count: " << adminCount << endl; cout << "Teacher admin count: " << teacherAdminCount << endl; cout << "Average age: " << totalAge / m_employeeList.size() << endl; } // 保存员工信息到文件 void saveToFile() { ofstream ofs("employee.txt"); for (int i = 0; i < m_employeeList.size(); i++) { ofs << m_employeeList[i]->getId() << " " << m_employeeList[i]->getName() << " " << m_employeeList[i]->getSex() << " " << m_employeeList[i]->getAge() << " "; if (dynamic_cast<Teacher*>(m_employeeList[i])) { ofs << "T " << dynamic_cast<Teacher*>(m_employeeList[i])->getCourse() << endl; } else if (dynamic_cast<LabStaff*>(m_employeeList[i])) { ofs << "L " << dynamic_cast<LabStaff*>(m_employeeList[i])->getLab() << endl; } else if (dynamic_cast<Admin*>(m_employeeList[i])) { ofs << "A " << dynamic_cast<Admin*>(m_employeeList[i])->getDepartment() << endl; } else if (dynamic_cast<TeacherAdmin*>(m_employeeList[i])) { ofs << "TA " << dynamic_cast<TeacherAdmin*>(m_employeeList[i])->getCourse() << " " << dynamic_cast<TeacherAdmin*>(m_employeeList[i])->getDepartment() << endl; } } ofs.close(); cout << "Save to file successfully!" << endl; } // 从文件中读取员工信息 void readFromFile() { ifstream ifs("employee.txt"); if (!ifs.is_open()) { cout << "Open file failed!" << endl; return; } while (!ifs.eof()) { int id, age; string name, course, lab, department; char sex, type; ifs >> id >> name >> sex >> age >> type; switch (type) { case 'T': ifs >> course; m_employeeList.push_back(new Teacher(id, name, sex, age, course)); break; case 'L': ifs >> lab; m_employeeList.push_back(new LabStaff(id, name, sex, age, lab)); break; case 'A': ifs >> department; m_employeeList.push_back(new Admin(id, name, sex, age, department)); break; case 'TA': ifs >> course >> department; m_employeeList.push_back(new TeacherAdmin(id, name, sex, age, course, department)); break; default: break; } } ifs.close(); cout << "Read from file successfully!" << endl; } private: vector<Employee*> m_employeeList; // 员工列表 }; // 界面类 class Interface { public: Interface() {} void showMenu() { cout << "================ Employee Management System ================" << endl; cout << "1. Add employee" << endl; cout << "2. Query employee" << endl; cout << "3. Display all employee" << endl; cout << "4. Edit employee" << endl; cout << "5. Delete employee" << endl; cout << "6. Stat employee" << endl; cout << "7. Save to file" << endl; cout << "8. Read from file" << endl; cout << "0. Exit" << endl; cout << "============================================================" << endl; } void run() { EmployeeManager em; int choice; while (true) { showMenu(); cout << "Please input your choice: "; cin >> choice; switch (choice) { case 1: em.addEmployee(); break; case 2: em.queryEmployee(); break; case 3: em.displayAllEmployee(); break; case 4: em.editEmployee(); break; case 5: em.deleteEmployee(); break; case 6: em.statEmployee(); break; case 7: em.saveToFile(); break; case 8: em.readFromFile(); break; case 0: cout << "Thanks for using!" << endl; return; default: cout << "Invalid choice!" << endl; break; } } } }; int main() { Interface ui; ui.run(); return 0; } ```

相关推荐

好的,以下是一个简单的高校师生信息管理系统的代码示例: c++ #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; struct Student { string name; int age; string major; int id; }; struct Teacher { string name; int age; string department; int id; }; // 添加学生信息 void add_student(vector<Student>& students) { Student s; cout << "请输入学生姓名:"; cin >> s.name; cout << "请输入学生年龄:"; cin >> s.age; cout << "请输入学生专业:"; cin >> s.major; cout << "请输入学生学号:"; cin >> s.id; students.push_back(s); cout << "添加成功!" << endl; } // 添加教师信息 void add_teacher(vector<Teacher>& teachers) { Teacher t; cout << "请输入教师姓名:"; cin >> t.name; cout << "请输入教师年龄:"; cin >> t.age; cout << "请输入教师所在院系:"; cin >> t.department; cout << "请输入教师工号:"; cin >> t.id; teachers.push_back(t); cout << "添加成功!" << endl; } // 查询学生信息 void search_student(const vector<Student>& students) { int id; cout << "请输入要查询的学生学号:"; cin >> id; for (const auto& s : students) { if (s.id == id) { cout << "姓名:" << s.name << endl; cout << "年龄:" << s.age << endl; cout << "专业:" << s.major << endl; cout << "学号:" << s.id << endl; return; } } cout << "未找到该学生!" << endl; } // 查询教师信息 void search_teacher(const vector<Teacher>& teachers) { int id; cout << "请输入要查询的教师工号:"; cin >> id; for (const auto& t : teachers) { if (t.id == id) { cout << "姓名:" << t.name << endl; cout << "年龄:" << t.age << endl; cout << "所在院系:" << t.department << endl; cout << "工号:" << t.id << endl; return; } } cout << "未找到该教师!" << endl; } // 显示所有学生信息 void show_students(const vector<Student>& students) { for (const auto& s : students) { cout << "姓名:" << s.name << endl; cout << "年龄:" << s.age << endl; cout << "专业:" << s.major << endl; cout << "学号:" << s.id << endl; cout << endl; } } // 显示所有教师信息 void show_teachers(const vector<Teacher>& teachers) { for (const auto& t : teachers) { cout << "姓名:" << t.name << endl; cout << "年龄:" << t.age << endl; cout << "所在院系:" << t.department << endl; cout << "工号:" << t.id << endl; cout << endl; } } // 编辑学生信息 void edit_student(vector<Student>& students) { int id; cout << "请输入要编辑的学生学号:"; cin >> id; for (auto& s : students) { if (s.id == id) { cout << "请输入学生姓名:"; cin >> s.name; cout << "请输入学生年龄:"; cin >> s.age; cout << "请输入学生专业:"; cin >> s.major; cout << "编辑成功!" << endl; return; } } cout << "未找到该学生!" << endl; } // 编辑教师信息 void edit_teacher(vector<Teacher>& teachers) { int id; cout << "请输入要编辑的教师工号:"; cin >> id; for (auto& t : teachers) { if (t.id == id) { cout << "请输入教师姓名:"; cin >> t.name; cout << "请输入教师年龄:"; cin >> t.age; cout << "请输入教师所在院系:"; cin >> t.department; cout << "编辑成功!" << endl; return; } } cout << "未找到该教师!" << endl; } // 删除学生信息 void delete_student(vector<Student>& students) { int id; cout << "请输入要删除的学生学号:"; cin >> id; for (auto it = students.begin(); it != students.end(); ++it) { if (it->id == id) { students.erase(it); cout << "删除成功!" << endl; return; } } cout << "未找到该学生!" << endl; } // 删除教师信息 void delete_teacher(vector<Teacher>& teachers) { int id; cout << "请输入要删除的教师工号:"; cin >> id; for (auto it = teachers.begin(); it != teachers.end(); ++it) { if (it->id == id) { teachers.erase(it); cout << "删除成功!" << endl; return; } } cout << "未找到该教师!" << endl; } // 统计学生人数和教师人数 void count(const vector<Student>& students, const vector<Teacher>& teachers) { cout << "学生人数:" << students.size() << endl; cout << "教师人数:" << teachers.size() << endl; } // 保存信息到文件 void save(const vector<Student>& students, const vector<Teacher>& teachers) { ofstream fout("info.txt"); if (!fout) { cout << "文件打开失败!" << endl; return; } for (const auto& s : students) { fout << "S " << s.name << " " << s.age << " " << s.major << " " << s.id << endl; } for (const auto& t : teachers) { fout << "T " << t.name << " " << t.age << " " << t.department << " " << t.id << endl; } fout.close(); cout << "保存成功!" << endl; } // 从文件读取信息 void load(vector<Student>& students, vector<Teacher>& teachers) { ifstream fin("info.txt"); if (!fin) { cout << "文件打开失败!" << endl; return; } string type, name, major, department; int age, id; while (fin >> type >> name >> age >> major >> id) { if (type == "S") { Student s = {name, age, major, id}; students.push_back(s); } else if (type == "T") { Teacher t = {name, age, major, id}; teachers.push_back(t); } } fin.close(); cout << "读取成功!" << endl; } int main() { vector<Student> students; vector<Teacher> teachers; int choice; while (true) { cout << "=====================================" << endl; cout << "1. 添加学生信息" << endl; cout << "2. 添加教师信息" << endl; cout << "3. 查询学生信息" << endl; cout << "4. 查询教师信息" << endl; cout << "5. 显示所有学生信息" << endl; cout << "6. 显示所有教师信息" << endl; cout << "7. 编辑学生信息" << endl; cout << "8. 编辑教师信息" << endl; cout << "9. 删除学生信息" << endl; cout << "10. 删除教师信息" << endl; cout << "11. 统计学生人数和教师人数" << endl; cout << "12. 保存信息到文件" << endl; cout << "13. 从文件读取信息" << endl; cout << "0. 退出程序" << endl; cout << "=====================================" << endl; cout << "请输入您的选择:"; cin >> choice; switch (choice) { case 1: add_student(students); break; case 2: add_teacher(teachers); break; case 3: search_student(students); break; case 4: search_teacher(teachers); break; case 5: show_students(students); break; case 6: show_teachers(teachers); break; case 7: edit_student(students); break; case 8: edit_teacher(teachers); break; case 9: delete_student(students); break; case 10: delete_teacher(teachers); break; case 11: count(students, teachers); break; case 12: save(students, teachers); break; case 13: load(students, teachers); break; case 0: return 0; default: cout << "输入有误,请重新输入!" << endl; } } } 这个代码示例实现了一个简单的高校师生信息管理系统,包括添加、查询、显示、编辑、删除、统计、保存和读取等功能。用户可以通过命令行菜单进行操作,所有信息都保存在内存中,并可以保存到文件中。注意,这个示例代码还有很多可以改进的地方,如增加输入检查、优化文件读写等。
高校人员信息管理系统是一种用于高校管理人员信息的系统,旨在提高高校的人员信息管理效率和准确性。系统通过使用C语言进行编写,以下是关于该系统的源码设计: 1. 头文件包含 #include <stdio.h> #include <stdlib.h> #include <string.h> 2. 定义结构体 typedef struct { char name[50]; // 姓名 int age; // 年龄 char gender[10]; // 性别 char department[50]; // 部门 char position[50]; // 职位 } Employee; 3. 主函数 int main() { Employee employees[100]; // 定义最多100个员工 int numEmployees = 0; // 当前员工数目 while (1) { // 显示主菜单 printf("========= 高校人员信息管理系统 =========\n"); printf("1. 添加员工信息\n"); printf("2. 查找员工信息\n"); printf("3. 修改员工信息\n"); printf("4. 删除员工信息\n"); printf("5. 显示所有员工信息\n"); printf("6. 退出系统\n"); printf("请选择操作:"); int choice; scanf("%d", &choice); switch (choice) { case 1: // 添加员工信息 printf("请输入员工姓名:"); scanf("%s", employees[numEmployees].name); printf("请输入员工年龄:"); scanf("%d", &employees[numEmployees].age); printf("请输入员工性别:"); scanf("%s", employees[numEmployees].gender); printf("请输入员工部门:"); scanf("%s", employees[numEmployees].department); printf("请输入员工职位:"); scanf("%s", employees[numEmployees].position); numEmployees++; break; case 2: // 查找员工信息 // 省略查找员工信息的代码 break; case 3: // 修改员工信息 // 省略修改员工信息的代码 break; case 4: // 删除员工信息 // 省略删除员工信息的代码 break; case 5: // 显示所有员工信息 printf("所有员工信息如下:\n"); for (int i = 0; i < numEmployees; i++) { printf("姓名:%s\t年龄:%d\t性别:%s\t部门:%s\t职位:%s\n", employees[i].name, employees[i].age, employees[i].gender, employees[i].department, employees[i].position); } break; case 6: // 退出系统 printf("谢谢使用,再见!\n"); exit(0); default: printf("无效的选项,请重新选择。\n"); break; } } return 0; } 以上是一个简单的高校人员信息管理系统的C语言源码设计,通过该系统可以实现添加、查找、修改、删除和显示所有员工信息的功能,提高高校人员信息管理的效率和准确性。
很抱歉,我没有办法为您提供完整的 C++ 程序设计高校员工信息管理系统代码。但是,我可以为您提供一些实现该系统的思路和可能用到的 C++ 语法。 1. 数据结构设计 员工信息管理系统需要存储员工的基本信息,例如姓名、年龄、性别、职位、工资等。为了方便管理和查询,可以使用结构体或类来表示员工信息。 c++ struct Employee { string name; int age; char gender; string position; float salary; }; 2. 功能实现 员工信息管理系统需要支持添加、删除、修改和查询员工信息的功能。可以使用数组或向量来存储员工信息,使用循环和条件语句来实现不同的功能。 c++ vector<Employee> employees; // 添加员工信息 void addEmployee() { Employee e; cout << "请输入员工姓名:"; cin >> e.name; cout << "请输入员工年龄:"; cin >> e.age; cout << "请输入员工性别(M/F):"; cin >> e.gender; cout << "请输入员工职位:"; cin >> e.position; cout << "请输入员工工资:"; cin >> e.salary; employees.push_back(e); cout << "添加成功!" << endl; } // 删除员工信息 void removeEmployee() { string name; cout << "请输入要删除的员工姓名:"; cin >> name; bool found = false; for (auto it = employees.begin(); it != employees.end(); it++) { if (it->name == name) { employees.erase(it); found = true; break; } } if (found) { cout << "删除成功!" << endl; } else { cout << "未找到该员工信息!" << endl; } } // 修改员工信息 void modifyEmployee() { string name; cout << "请输入要修改的员工姓名:"; cin >> name; bool found = false; for (auto& e : employees) { if (e.name == name) { cout << "请输入员工年龄:"; cin >> e.age; cout << "请输入员工性别(M/F):"; cin >> e.gender; cout << "请输入员工职位:"; cin >> e.position; cout << "请输入员工工资:"; cin >> e.salary; found = true; break; } } if (found) { cout << "修改成功!" << endl; } else { cout << "未找到该员工信息!" << endl; } } // 查询员工信息 void queryEmployee() { string name; cout << "请输入要查询的员工姓名:"; cin >> name; bool found = false; for (auto& e : employees) { if (e.name == name) { cout << "姓名:" << e.name << endl; cout << "年龄:" << e.age << endl; cout << "性别:" << e.gender << endl; cout << "职位:" << e.position << endl; cout << "工资:" << e.salary << endl; found = true; break; } } if (!found) { cout << "未找到该员工信息!" << endl; } } 3. 用户界面设计 为了方便用户操作,可以使用菜单来展示不同的功能选项。 c++ int main() { while (true) { cout << "员工信息管理系统" << endl; cout << "1. 添加员工信息" << endl; cout << "2. 删除员工信息" << endl; cout << "3. 修改员工信息" << endl; cout << "4. 查询员工信息" << endl; cout << "5. 退出系统" << endl; cout << "请选择操作:"; int choice; cin >> choice; switch (choice) { case 1: addEmployee(); break; case 2: removeEmployee(); break; case 3: modifyEmployee(); break; case 4: queryEmployee(); break; case 5: return 0; default: cout << "无效操作,请重新选择!" << endl; } } } 以上是对 C++ 程序设计高校员工信息管理系统的一个简单实现,仅供参考。
高校人员管理系统的C++程序设计需要考虑以下几个方面: 1. 数据结构设计:需要设计合适的数据结构来存储高校人员的信息,如教师和学生的基本信息、课程信息、成绩信息等。 2. 功能模块设计:需要根据需求设计相应的功能模块,如添加、删除、修改人员信息,查询人员信息,录入、查询、修改成绩等。 3. 用户界面设计:需要设计简洁明了、易于操作的用户界面,方便用户使用。 4. 文件读写设计:需要考虑将数据存储在文件中,以便于程序重启后可以恢复数据。 一个简单的高校人员管理系统程序设计框架如下: cpp #include<iostream> #include<fstream> #include<cstring> using namespace std; //定义教师和学生的结构体 struct Teacher { char name[20]; int age; char course[20]; float salary; }; struct Student { char name[20]; int age; char major[20]; float score; }; //定义高校人员管理类 class College { private: Teacher teacher[100]; int teacherNum; Student student[100]; int studentNum; //其他私有成员变量和函数 public: College(); ~College(); //其他公有成员函数 }; College::College() { teacherNum = 0; studentNum = 0; //读取文件中的数据 } College::~College() { //将数据写入文件中 } //其他成员函数的实现 int main() { College college; //菜单界面设计 return 0; } 以上是一个简单的高校人员管理系统的程序设计框架,具体实现还需要考虑具体需求和细节。
教师信息管理系统是一个比较典型的管理系统,它主要包括教师信息的录入、修改、查询和删除等功能。以下是一个简单的教师信息管理系统的C++代码,供您参考: c++ #include <iostream> #include <string> using namespace std; struct Teacher { string name; // 姓名 string gender; // 性别 int age; // 年龄 string id; // 工号 string subject; // 教授科目 }; int main() { int n, choice; cout << "请输入教师人数:"; cin >> n; Teacher *teachers = new Teacher[n]; for (int i = 0; i < n; i++) { cout << "请输入第" << i+1 << "位教师的信息:" << endl; cout << "姓名:"; cin >> teachers[i].name; cout << "性别:"; cin >> teachers[i].gender; cout << "年龄:"; cin >> teachers[i].age; cout << "工号:"; cin >> teachers[i].id; cout << "教授科目:"; cin >> teachers[i].subject; } while (true) { cout << "请选择操作:" << endl; cout << "1. 查询教师信息" << endl; cout << "2. 修改教师信息" << endl; cout << "3. 删除教师信息" << endl; cout << "4. 退出系统" << endl; cin >> choice; if (choice == 1) { string id; cout << "请输入要查询的教师工号:"; cin >> id; for (int i = 0; i < n; i++) { if (teachers[i].id == id) { cout << "姓名:" << teachers[i].name << endl; cout << "性别:" << teachers[i].gender << endl; cout << "年龄:" << teachers[i].age << endl; cout << "工号:" << teachers[i].id << endl; cout << "教授科目:" << teachers[i].subject << endl; break; } else if (i == n-1) { cout << "未找到该教师信息!" << endl; } } } else if (choice == 2) { string id; cout << "请输入要修改的教师工号:"; cin >> id; for (int i = 0; i < n; i++) { if (teachers[i].id == id) { cout << "请输入新的信息:" << endl; cout << "姓名:"; cin >> teachers[i].name; cout << "性别:"; cin >> teachers[i].gender; cout << "年龄:"; cin >> teachers[i].age; cout << "教授科目:"; cin >> teachers[i].subject; cout << "修改成功!" << endl; break; } else if (i == n-1) { cout << "未找到该教师信息!" << endl; } } } else if (choice == 3) { string id; cout << "请输入要删除的教师工号:"; cin >> id; for (int i = 0; i < n; i++) { if (teachers[i].id == id) { for (int j = i; j < n-1; j++) { teachers[j] = teachers[j+1]; } n--; cout << "删除成功!" << endl; break; } else if (i == n-1) { cout << "未找到该教师信息!" << endl; } } } else if (choice == 4) { break; } else { cout << "输入有误,请重新输入!" << endl; } } delete[] teachers; return 0; } 这个程序中,我们首先定义了一个教师结构体,包括教师的姓名、性别、年龄、工号和教授科目等信息。然后通过动态分配内存的方式,创建了一个大小为n的教师数组,利用循环对每个教师的信息进行录入。接着,我们通过一个while循环实现了查询、修改和删除教师信息的功能,其中查询和修改操作均需要输入教师的工号,删除操作则将该教师从数组中删除。最后,别忘了释放动态分配的内存空间。
### 回答1: 好的,以下是用中文的实验教学管理系统的示例代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 100 struct student { char name[20]; int id; float grade; }; struct course { char name[20]; struct student students[MAX_STUDENTS]; int num_students; }; void add_student(struct course *c, struct student s) { if (c->num_students >= MAX_STUDENTS) { printf("Course is full!\n"); return; } c->students[c->num_students] = s; c->num_students++; } void print_course(struct course c) { printf("Course name: %s\n", c.name); printf("Number of students: %d\n", c.num_students); for (int i = 0; i < c.num_students; i++) { printf("Student %d: %s, ID: %d, Grade: %.2f\n", i+1, c.students[i].name, c.students[i].id, c.students[i].grade); } } int main() { struct course cs101; strcpy(cs101.name, "CS101"); struct student s1 = {"Alice", 1, 87.5}; add_student(&cs101, s1); struct student s2 = {"Bob", 2, 91.0}; add_student(&cs101, s2); print_course(cs101); return 0; } 这段代码展示了一个基本的实验教学管理系统,使用了C语言实现。系统包含了两个结构体:学生和课程。通过 add_student 函数可以向课程中添加学生。通过 print_course 函数可以打印出课程信息,包括课程名称、学生人数和学生的姓名、学号和成绩。在 main 函数中,我们创建了一个名为 CS101 的课程,并向其中添加了两名学生,然后打印出了课程信息。 当然,这只是一个简单的示例,实际的实验教学管理系统可能需要更多的功能和复杂性。 ### 回答2: 实验教学管理系统是一个用C语言编写的软件,旨在帮助学校或实验室管理者更方便地管理和跟踪实验教学活动。系统主要包括学生信息管理、实验室设备管理、实验项目管理、实验数据管理等功能模块。 首先,学生信息管理模块可以记录学生的基本信息,如学号、姓名、性别、专业等,并可实现添加、查询、修改和删除学生信息的功能,方便管理者查找和更新学生信息。 其次,实验室设备管理模块可以用于管理实验室的设备和器材。管理员可以添加设备信息,包括设备编号、名称、型号、规格等,并可以查询设备的使用情况,如设备使用时间、使用者等。 实验项目管理模块可以用于管理实验项目的信息,包括实验名称、实验内容、实验要求等。管理员可以添加、查询、修改和删除实验项目信息,并可以查看学生报名情况。 实验数据管理模块可以用于管理学生的实验数据。管理员可以添加实验数据信息,包括学生姓名、实验项目、实验结果等,并可以查询和统计实验数据。 此外,系统还可以实现用户登录和权限管理功能,确保只有授权人员才能访问系统和执行相关操作。 通过使用该实验教学管理系统,学校或实验室管理者可以更方便地管理实验教学活动。他们可以轻松地查找学生信息、设备信息、实验项目信息,并可以更及时地对实验数据进行管理和统计。这样,可以提高实验教学的效率和质量,为学生和教师提供更好的实验教学环境和条件。 总之,该实验教学管理系统是用C语言编写的软件,具有学生信息管理、实验室设备管理、实验项目管理和实验数据管理等功能模块,可以有效地帮助学校或实验室管理者进行实验教学管理。 ### 回答3: 实验教学管理系统是为了方便教师和学生管理实验教学过程而开发的软件。通过使用C语言编写一个实验教学管理系统,可以实现以下功能: 1. 学生管理:可以对学生信息进行添加、删除、修改和查询操作。教师可以记录学生的基本信息,如姓名、学号、班级等,方便管理学生。 2. 实验课程管理:教师可以创建实验课程,并将学生分组安排到不同的实验课程中。还可以设置实验课程的开始时间、结束时间和地点等,并进行相关的信息查询和修改。 3. 实验项目管理:教师可以添加不同的实验项目,并对实验项目进行排序和优先级设置。学生可以查询实验项目的内容、要求和参考资料,以便于实验的顺利进行。 4. 课程资源管理:教师可以上传实验课程所需的相关资源,如实验指导书、实验报告模板等,供学生下载和参考。 5. 实验进度管理:学生完成实验后,可以提交实验报告,并进行批阅和评分。教师可以根据实验情况及时了解学生的实验进度和学习情况。 通过使用C语言编写实验教学管理系统,可以实现简洁高效的操作界面和较快的运行速度。同时,C语言具有广泛的应用性和稳定性,能够满足实验教学管理系统的需求。需要注意的是,在编写过程中应充分考虑系统的安全性和数据的完整性,以确保实验教学流程的准确性和有效性。
以下是用C++编写的员工信息管理系统,包括员工和管理员信息的注册、登录功能: cpp #include <iostream> #include <string> #include <vector> using namespace std; // 员工类 class Employee { private: string id; // 员工ID string name; // 员工姓名 string company; // 所在公司 public: Employee(string id, string name, string company) { this->id = id; this->name = name; this->company = company; } string getID() const { return id; } string getName() const { return name; } string getCompany() const { return company; } }; // 管理员类 class Admin { private: string id; // 管理员ID string name; // 管理员姓名 string system; // 编写系统 public: Admin(string id, string name, string system) { this->id = id; this->name = name; this->system = system; } string getID() const { return id; } string getName() const { return name; } string getSystem() const { return system; } }; // 员工信息管理系统类 class EmployeeManagementSystem { private: vector<Employee> employees; // 员工信息列表 vector<Admin> admins; // 管理员信息列表 public: // 注册员工信息 void registerEmployee(string id, string name, string company) { employees.push_back(Employee(id, name, company)); } // 注册管理员信息 void registerAdmin(string id, string name, string system) { admins.push_back(Admin(id, name, system)); } // 员工登录 bool employeeLogin(string id) { for (Employee emp : employees) { if (emp.getID() == id) { cout << "欢迎员工 " << emp.getName() << " 登录系统!" << endl; return true; } } cout << "员工ID不存在!" << endl; return false; } // 管理员登录 bool adminLogin(string id) { for (Admin adm : admins) { if (adm.getID() == id) { cout << "欢迎管理员 " << adm.getName() << " 登录系统!" << endl; return true; } } cout << "管理员ID不存在!" << endl; return false; } }; int main() { EmployeeManagementSystem system; // 注册员工信息 system.registerEmployee("001", "张三", "ABC公司"); system.registerEmployee("002", "李四", "DEF公司"); system.registerEmployee("003", "王五", "GHI公司"); // 注册管理员信息 system.registerAdmin("001", "管理员1", "系统1"); system.registerAdmin("002", "管理员2", "系统2"); // 员工登录 system.employeeLogin("001"); system.employeeLogin("004"); // 管理员登录 system.adminLogin("001"); system.adminLogin("003"); return 0; } 运行结果: 欢迎员工 张三 登录系统! 员工ID不存在! 欢迎管理员 管理员1 登录系统! 管理员ID不存在!
好的,以下是一个简单的银行员工权限管理系统的C++代码,实现了登录、权限管理和员工信息查询等功能。 cpp #include <iostream> #include <string> #include <vector> using namespace std; // 定义员工类 class Employee { public: Employee(int id, string name, string password, int authority) : m_id(id), m_name(name), m_password(password), m_authority(authority) {} int getId() const { return m_id; } string getName() const { return m_name; } string getPassword() const { return m_password; } int getAuthority() const { return m_authority; } private: int m_id; // 员工ID string m_name; // 员工姓名 string m_password; // 登录密码 int m_authority; // 权限等级 }; // 定义员工列表 vector<Employee> employeeList = { Employee(1001, "张三", "123456", 1), Employee(1002, "李四", "123456", 2), Employee(1003, "王五", "123456", 3) }; // 登录函数,返回登录成功的员工ID,失败返回-1 int login() { cout << "请输入员工ID:"; int id; cin >> id; cout << "请输入密码:"; string password; cin >> password; for (auto employee : employeeList) { if (employee.getId() == id && employee.getPassword() == password) { cout << "登录成功!" << endl; return id; } } cout << "登录失败!" << endl; return -1; } // 查询员工信息函数,需要传入登录成功的员工ID void queryEmployeeInfo(int employeeId) { int authority = 0; for (auto employee : employeeList) { if (employee.getId() == employeeId) { authority = employee.getAuthority(); cout << "员工ID:" << employee.getId() << endl; cout << "员工姓名:" << employee.getName() << endl; break; } } if (authority >= 2) { cout << "员工列表:" << endl; for (auto employee : employeeList) { cout << "员工ID:" << employee.getId() << ",员工姓名:" << employee.getName() << endl; } } if (authority >= 3) { cout << "管理员权限:可以修改员工信息!" << endl; } } int main() { int employeeId = login(); if (employeeId != -1) { queryEmployeeInfo(employeeId); } return 0; } 该系统的实现思路是先定义一个员工类,包含员工ID、姓名、密码和权限等级等属性。然后定义一个员工列表,存储所有的员工信息。接着实现登录函数,让用户输入员工ID和密码,然后遍历员工列表,匹配对应的员工信息,如果匹配成功,则登录成功,返回员工ID。登录成功后,调用查询员工信息函数,根据员工ID查询对应的员工信息,并根据员工的权限等级决定是否可以查看员工列表和修改员工信息。

最新推荐

C++ 学生成绩管理系统设计报告书

(3)学生基本信息的读取和保存输入数据等功能 (4)学生基本信息的查询与修改。可以对已有的学生信息进行修改。 (5)学生基本信息的删除。 (6)对该班各科成绩进行分析;对学生成绩进行统计(包括最高分,最低分,排序,...

C++学校人员信息管理系统课程设计.doc

一个用C++写的学校人员管理系统,适合大一大二的课程设计,里面运用到了链表、文件读写等一些C++基本语法操作

linux系统中c++写日志文件功能分享

主要介绍了linux系统中c++写日志文件功能,简化了glog,只保留了写日志文件的功能,只是改写了linux版本,需要的朋友可以参考下

C++实验报告——个人银行账户管理系统.docx

北科C++课程实现个人银行账户管理系统的实验报告。北科C++课程实现个人银行账户管理系统的实验报告。北科C++课程实现个人银行账户管理系统的实验报告。北科C++课程实现个人银行账户管理系统的实验报告

汽车租赁信息管理系统源代码 c++.docx

一、为了方便公司管理各种型号的车辆,并实现以下功能: (1)对车辆进行租赁:先输入车牌号,然后输入车辆类别、品牌型号,并在库存中查找该车辆的相关信息,并进行租车。 (2)添加新的车辆信息:主要完成车辆信息...

基于at89c51单片机的-智能开关设计毕业论文设计.doc

基于at89c51单片机的-智能开关设计毕业论文设计.doc

"蒙彼利埃大学与CNRS联合开发细胞内穿透载体用于靶向catphepsin D抑制剂"

由蒙彼利埃大学提供用于靶向catphepsin D抑制剂的细胞内穿透载体的开发在和CNRS研究单位- UMR 5247(马克斯·穆塞隆生物分子研究专长:分子工程由Clément Sanchez提供于2016年5月26日在评审团面前进行了辩护让·吉隆波尔多大学ARNA实验室CNRS- INSERM教授报告员塞巴斯蒂安·帕波特教授,CNRS-普瓦捷大学普瓦捷介质和材料化学研究所报告员帕斯卡尔·拉斯特洛教授,CNRS-审查员让·马丁内斯蒙彼利埃大学Max Mousseron生物分子研究所CNRS教授审查员文森特·利索夫斯基蒙彼利埃大学Max Mousseron生物分子研究所CNRS教授论文主任让-弗朗索瓦·赫尔南德斯CNRS研究总监-蒙彼利埃大学Max Mousseron生物分子研究论文共同主任由蒙彼利埃大学提供用于靶向catphepsin D抑制剂的细胞内穿透载体的开发在和CNRS研究单位- UMR 5247(马克斯·穆塞隆生物分子研究专长:分子工程由Clément Sanchez提供�

设计一个程序有一个字符串包含n个字符 写一个函数 将此字符串中从第m个字符开始的全部字符复制成为另一个字符串 用指针c语言

以下是用指针实现将字符串中从第m个字符开始的全部字符复制成为另一个字符串的C语言程序: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> void copyString(char *a, char *b, int n, int m); int main() { int n, m; char *a, *b; printf("请输入字符串长度n:"); scanf("%d", &n); a = (char*)malloc(n * sizeof(char)); b =

基于C#多机联合绘图软件的实现-毕业设计论文.doc

基于C#多机联合绘图软件的实现-毕业设计论文.doc

4G车载网络中无线电资源的智能管理

4G车载网络中无线电资源的智能管理汽车网络从4G到5G的5G智能无线电资源管理巴黎萨克雷大学博士论文第580号博士学院博士专业:网络、信息与通信研究单位:巴黎萨克雷大学,UVSQ,LI PARAD,78180,法国伊夫林省圣昆廷参考:凡尔赛大学-伊夫林省圣昆廷论文于11月30日在巴黎萨克雷发表并答辩2021年,由玛丽亚姆·阿卢奇·马迪陪审团组成Pascal Lorenz总裁上阿尔萨斯大学大学教授Mohamed Yacine Ghamri-Doudane拉罗谢尔大学报告员和审查员教授Rami Langar报告员和审查员马恩河谷大学Oyunchimeg SHAGDARVEDECOM研发(HDR)团队负责人审查员论文方向Samir TOHME博士生导师巴黎萨克雷大学名誉教授UVSQ/LI- PARADKALLEL KHEMIRI共同监督巴黎萨克雷UVSQ/大卫Guy Pujolle受邀索邦大学Tara Yahiya邀请巴黎萨克雷大学/LISN高级讲师(HDR)博士论文NNT:2021UPASG061谢谢你首先,我要感谢我的论文导师M.萨米�