C++实现的学校档案管理系统

    技术2022-07-11  80

    学校的期末设计 项目目的:实现职工类、教室类、学生类信息的录入,输出,修改,删除,查找等。

    源代码 #include"iostream" #include #include"stdlib.h" #define MAX 100 using namespace std; class person //定义一个类实现共有的基础信息 { public: int num; char name[20]; char sex[4]; char zy[50]; }; //Teacher class class Teacher :virtual public person {

    public: char bm[20]; char zc[20]; char jc[20]; void Input() //录入信息 { cout << “Input num:”; cin >> num; cout << “Input name:”; cin >> name; cout << “Input sex:”; cin >> sex; cout << “Input zy:”; cin >> zy; cout << “Input bm:”; cin >> bm; cout << “Input zc:”; cin >> zc; cout << “Input jc:”; cin >> jc; } void Output() //输出信息 { cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy << " " << "部门: " << bm << " " << "职称: " << zc << " " << "奖惩情况: " << jc << endl; } }; Teacher Tea[MAX]; //定义一个教师的对象数组 static int Teatop; //定义一个静态常量

    class TeaManager //教师的管理类 { public: int Add(); int Search(); void Edit(); int Delete();

    }; int TeaManager::Add() //添加功能 { system(“cls”); //清屏 Teacher t; int i, nu; if (Teatop == MAX) { cout << “人数已满” << endl; return 0; } cout << “请输入编号:”; cin >> nu; for (i = 0; i < Teatop; i++) { if (nu == Tea[i].num) { cout << “已有该编号” << endl; return 0; } } t.Input(); Tea[Teatop] = t; Teatop++; cout << “添加成功!” << endl; return 1; }

    int TeaManager::Search() //查询功能 { system(“cls”); int j, n; cout << “请输入编号:”; cin >> n; for (j = 0; j < Teatop; j++) { if (n == Tea[j].num) break; } if (j == Teatop) cout << “没有此人!” << endl; else Tea[j].Output(); return 1; }

    void TeaManager::Edit() //编辑功能 { system(“cls”); //清屏 Teacher t1; int j, n; cout << “请输入要编辑的人的编号:”; cin >> n; for (j = 0; j < Teatop; j++) { if (n == Tea[j].num) break; } if (j == Teatop) { cout << “没有此人!” << endl; return; }; cout << “输入修改后的信息,编号不能改:” << endl; t1.Input(); Tea[j] = t1; cout << “编辑成功!” << endl; } int TeaManager::Delete() //删除功能 { system(“cls”); //清屏 int j, n; cout << “请输入要删除的人的编号:”; cin >> n; for (j = 0; j < Teatop; j++) { if (n == Tea[j].num) break; } if (j == Teatop) { cout << “没有此人!” << endl; return 0; }; for (j; j < Teatop; j++) { Tea[j] = Tea[j + 1]; } Teatop–; cout << “删除成功!” << endl; return 1; }

    void Tea_mune(TeaManager TM) //用一个管理教师的类来实现结果的显示 { system(“cls”); int b; char c; do {

    cout << endl; cout << endl; cout << "教师管理" << endl; cout << "==========================================================================================" << endl; cout << "| 1.添加 "; cout << "2.查询 "; cout << "3.编辑 "; cout << "4.删除 "; cout << "0.退出 |" << endl; cout << "==========================================================================================" << endl; cout << "请选择:"; cin >> b; switch (b) { case 1:TM.Add(); break; case 2:TM.Search(); break; case 3:TM.Edit(); break; case 4:TM.Delete(); break; default:cout << "\n error" << endl; break; case 0:break; } } while (b != 0);

    }

    class Student :virtual public person //学生 { public: char bj[10]; char jc[10]; void Input() { cout << “Input num:”; cin >> num; cout << “Input name:”; cin >> name; cout << “Input sex:”; cin >> sex; cout << “Input zy:”; cin >> zy; cout << “Input bj:”; cin >> bj; cout << “Input jc:”; cin >> jc; } void Output() { cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy << " " << "班级: " << bj << " " << "奖惩情况: " << jc << endl; }

    }; Student Stu[MAX]; //定义一个学生的对象数组 static int Stutop; class StuManager //管理学生的类 { public: int Add(); int Search();

    void Edit(); int Delete();

    }; int StuManager::Add() //添加功能 { system(“cls”); Student t; int i, nu; if (Stutop == MAX) { cout << “人数已满” << endl; return 0; } cout << “请输入编号:”; cin >> nu; for (i = 0; i < Stutop; i++) { if (nu == Stu[i].num) { cout << “已有该编号” << endl; return 0; } } t.Input(); Stu[Stutop] = t; Stutop++; cout << “添加成功!” << endl; return 1; } int StuManager::Search() //查询功能 { system(“cls”); int j, n; cout << “请输入编号:”; cin >> n; for (j = 0; j < Stutop; j++) { if (n == Stu[j].num) break; } if (j == Stutop) cout << “没有此人!” << endl; else Stu[j].Output(); return 1; }

    void StuManager::Edit() //编辑功能 { system(“cls”); Student t1; int j, n; cout << “请输入要编辑的人的编号:”; cin >> n; for (j = 0; j < Stutop; j++) { if (n == Stu[j].num) break; } if (j == Stutop) { cout << “没有此人!” << endl; return; }; cout << “输入修改后的信息,编号不能改:” << endl; t1.Input(); Stu[j] = t1; cout << “编辑成功!” << endl; } int StuManager::Delete() //删除功能 { system(“cls”); int j, n; cout << “请输入要删除的人的编号:”; cin >> n; for (j = 0; j < Stutop; j++) { if (n == Stu[j].num) break; } if (j == Stutop) { cout << “没有此人!” << endl; return 0; }; for (j; j < Stutop; j++) { Stu[j] = Stu[j + 1]; } Stutop–; cout << “删除成功!” << endl; return 1; }

    void Stu_mune(StuManager TM) { system(“cls”); int b; char c; do { cout << endl; cout << endl; cout << “学生管理” << endl; cout << “" << endl; cout << "| 1.添加 "; cout << "2.查询 "; cout << "3.编辑 "; cout << "4.删除 "; cout << “0.退出 |” << endl; cout << "” << endl; cout << “请选择:”; cin >> b; switch (b) { case 1:TM.Add(); break; case 2:TM.Search(); break; case 3:TM.Edit(); break; case 4:TM.Delete(); break; default:cout << “\n error” << endl; break; case 0:break; }

    } while (b != 0);

    }

    class Administrator :virtual public person //行政人员 { public: char bm[10]; char zc[10]; char jc[10]; void Input() { cout << “Input num:”; cin >> num; cout << “Input name:”; cin >> name; cout << “Input sex:”; cin >> sex; cout << “Input zy:”; cin >> zy; cout << “Input bm:”; cin >> bm; cout << “Input zc:”; cin >> zc; cout << “Input jc:”; cin >> jc; } void Output() { cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy << " " << "部门: " << bm << " " << "职称: " << zc << " " << "奖惩情况: " << jc << endl; }

    }; Administrator Adm[MAX]; static int Admtop; class AdmManager //管理行政人员的类 { public: int Add(); int Search();

    void Edit(); int Delete();

    }; int AdmManager::Add() { system(“cls”); Administrator t; int i, nu; if (Admtop == MAX) { cout << “人数已满” << endl; return 0; } cout << “请输入编号:”; cin >> nu; for (i = 0; i < Admtop; i++) { if (nu == Adm[i].num) { cout << “已有该编号” << endl; return 0; } } t.Input(); Adm[Admtop] = t; Admtop++; cout << “添加成功!” << endl; return 1; } int AdmManager::Search() { system(“cls”); int j, n; cout << “请输入编号:”; cin >> n; for (j = 0; j < Admtop; j++) { if (n == Adm[j].num) break; } if (j == Admtop) cout << “没有此人!” << endl; else Adm[j].Output(); return 1; }

    void AdmManager::Edit() { system(“cls”); Administrator t1; int j, n; cout << “请输入要编辑的人的编号:”; cin >> n; for (j = 0; j < Admtop; j++) { if (n == Adm[j].num) break; } if (j == Admtop) { cout << “没有此人!” << endl; return; }; cout << “输入修改后的信息,编号不能改:” << endl; t1.Input(); Adm[j] = t1; cout << “编辑成功!” << endl; } int AdmManager::Delete() { system(“cls”); int j, n; cout << “请输入要删除的人的编号:”; cin >> n; for (j = 0; j < Admtop; j++) { if (n == Adm[j].num) break; } if (j == Admtop) { cout << “没有此人!” << endl; return 0; }; for (j; j < Admtop; j++) { Adm[j] = Adm[j + 1]; } Admtop–; cout << “删除成功!” << endl; return 1; }

    void Adm_mune(AdmManager TM) { system(“cls”); int b; char c; do { cout << endl; cout << endl; cout << “行政人员管理” << endl; cout << “" << endl; cout << "| 1.添加 "; cout << "2.查询 "; cout << "3.编辑 "; cout << "4.删除 "; cout << “0.退出 |” << endl; cout << "” << endl; cout << “请选择:”; cin >> b; switch (b) { case 1:TM.Add(); break; //TM去调用add类 case 2:TM.Search(); break; case 3:TM.Edit(); break; case 4:TM.Delete(); break; default:cout << “\n error” << endl; break; case 0:break; }

    } while (b != 0);

    }

    int main() //主函数 { TeaManager Teamer; StuManager Stumer; AdmManager Admmer;

    int a = 1; char c; cout << " *************************************"; cout << endl << " $ 高校人员管理系统 $" << endl; cout << " *************************************"; while (a) { system("cls"); cout << endl; cout << " ****欢迎使用高校人员信息管理系统****" << endl; cout << " =================================" << endl; cout << " | 1.教师管理 |" << endl; cout << " | 2.学生管理 |" << endl; cout << " | 3.行政人员管理 |" << endl; cout << " | 0.退出 |" << endl; cout << " =================================" << endl; cout << "请选择:"; cin >> a; switch (a) //用switch语句来判断输入的数字 { case 1:Tea_mune(Teamer); break; case 2:Stu_mune(Stumer); break; case 3:Adm_mune(Admmer); break; case 0:break; default:cout << "\n error" << endl; cout << "按回车键继续" << endl; c = getchar(); break; } } system("cls"); cout << endl << "谢谢使用" << endl; c = getchar(); return 0;

    }

    Processed: 0.012, SQL: 9