本专栏记录C++学习过程包括C++基础以及数据结构和算法,其中第一部分计划时间一个月
(2024.1.4-2024.1.27已完结)
,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。
当前章节处于:
---------第1阶段-C++基础入门
---------第2阶段实战-通讯录管理系统,
---------第3阶段-C++核心编程,
---------第4阶段实战-基于多态的企业职工系统
---------第5阶段-C++提高编程
---------第6阶段实战-基于STL泛化编程的演讲比赛
=====>第7阶段-C++实战项目机房预约管理系统
文章目录
- 一、项目描述
- 二、需求分析
- 三、实现代码
- 四、机房预约系统
- 五、测试案例
一、项目描述
学校现有几个规格不同的机房,由于使用时经常出现“撞车现象”,现开发一套机房预约系统,解决这一问题。分别有三个身份使用该程序分别有三种身份使用该程序
- 学生代表:申请使用机房
- 教师:审核学生的预约申请
- 管理员:给学生、教师创建账号
机房总共有3间
- 1号机房 — 最大容量20人
- 2号机房 — 最多容量50人
- 3号机房 — 最多容量100人
申请简介:
- 申请的订单每周由管理员负责清空。
- 学生可以预约未来一周内的机房使用,预约的日期为周一至周五,预约时需要选择预约时段(上午、下午)
- 教师来审核预约,依据实际情况审核预约通过或者不通过
系统具体需求
- 首先进入登录界面,可选登录身份有:
- 学生代表
- 老师
- 管理员
- 退出
- 每个身份都需要进行验证后,进入子菜单
- 学生需要输入 :学号、姓名、登录密码
- 老师需要输入:职工号、姓名、登录密码
- 管理员需要输入:管理员姓名、登录密码
- 学生具体功能
- 申请预约 — 预约机房
- 查看自身的预约 — 查看自己的预约状态
- 查看所有预约 — 查看全部预约信息以及预约状态
- 取消预约 — 取消自身的预约,预约成功或审核中的预约均可取消
- 注销登录 — 退出登录
- 教师具体功能
- 查看所有预约 — 查看全部预约信息以及预约状态
- 审核预约 — 对学生的预约进行审核
- 注销登录 — 退出登录
- 管理员具体功能
- 添加账号 — 添加学生或教师的账号,需要检测学生编号或教师职工号是否重复
- 查看账号 — 可以选择查看学生或教师的全部信息
- 查看机房 — 查看所有机房的信息
- 清空预约 — 清空所有预约记录
- 注销登录 — 退出登录
二、需求分析
首先有三个角色,分析发现他们的属性和方法大致相同,因此需要用到继承和多态,创建一个父类再通过继承的方式创建子类。在子类中添加子类特有的属性和方法。每一个角色相当于创建一个子系统,教师和学生高度相似,管理员系统的主要目的就是创建教师和学生。每个子系统通过txt构成联系,用户输入信息进行登录,因此需要提前将信息存储在txt文件中,对txt文件中的信息进行检查判断,如果判断到了就登录,文件读完还没判断到就说明没有此人对应信息,提示用户名或密码错误。对于有差异的提示信息,可以通过判断,给变量赋值不同的内容,再调用这个变量。每生成一条预约,就需要将这条预约存到txt文件中,查看所有预约遍历整个txt文件即可。查看自己预约,则需要判断预约中的学号等不等于当前用户的学号(姓名不一定唯一,但是学号一定唯一)。教师端审核预约即将预约的状态码改变即可,改变之后,需要重新更新txt文件,整个预约是一个嵌套的map,第一层key存预约编号,第二层存预约的具体信息。管理员在添加账号之前也需要判断编号和职工号是否重复,因此需要读入学生或者员工的信息,遍历判断。查看账号,遍历对应的文件即可。查看机房信息则遍历机房对应的txt文件即可,清空预约,清空预约对应的txt文件即可。为显示出子菜单的效果,在用户登录成功后在顶端输出用户名,表示进入子菜单。
三、实现代码
globalFile.h
#pragma once //管理员文件
#define ADMIN_FILE "admin.txt"
//学生文件
#define STUDENT_FILE "student.txt"
//教师文件
#define TEACHER_FILE "teacher.txt"
//机房信息文件
#define COMPUTER_FILE "computerRoom.txt"
//订单文件
#define ORDER_FILE "order.txt"
Identity.h
#pragma once
#include <iostream>
using namespace std;class Identity {
public:virtual void showSecondMenu()=0;string m_name;string m_password;
};
manager.h
#pragma once
#include<iostream>
using namespace std;
#include "Identity.h"class Manager :public Identity {
public:// 默认构造Manager();// 有参构造Manager(string name, string pw);// 添加账号void addPerson();// 查看账号void showPerson();// 查看机房信息void showComputer();// 清空预约记录void clearFile();// 显示管理员子菜单virtual void showSecondMenu();
};
student.h
#pragma once
#include<iostream>
using namespace std;
#include "Identity.h"
#include <fstream>
#include"globalFile.h"
#include<map>
#include<algorithm>
#include<numeric>
#include<sstream>
class Student :public Identity {
public:// 默认构造Student();// 有参构造Student(int id, string name, string pw);// 申请预约void applyOrder();// 显示预约void showMyOrder();// 查看所有预约void showAllOrder();// 取消预约void cancelOrder();// 显示学生子菜单virtual void showSecondMenu();int m_id;
};
teacher.h
#pragma once
#include<iostream>
using namespace std;
#include "Identity.h"
#include<string>
#include<fstream>
#include"globalFile.h"
#include<map>
#include <sstream>class Teacher :public Identity {
public:// 默认构造Teacher();// 有参构造Teacher(int id, string name, string pw);// 查看所有预约void showAllOrder();// 审核预约void vaildOrder();// 显示老师子菜单virtual void showSecondMenu();int m_Tid;
};// 默认构造
Teacher::Teacher() {
}
// 有参构造
Teacher::Teacher(int id, string name, string pw) {m_Tid = id;m_name = name;m_password = pw;
}// 查看所有预约
void Teacher::showAllOrder() {ifstream ifs;ifs.open(ORDER_FILE, ios::in);string date ;string interval;string id ;string name;string room;string status;while (ifs >> date && ifs >> interval && ifs >> id && ifs >> name && ifs >> room && ifs >> status) {cout << date << interval << id << name << room << status << endl;}ifs.close();
}
map<int, map<string, string>> txtTomap1() {ifstream ifs;ifs.open(ORDER_FILE, ios::in);map<int, map<string, string>> Bigmap;string date;string interval;string id;string name;string room;string status;int count = 0; // 序号string line;while (getline(ifs, line)) {istringstream iss(line);string date, interval, id, name, room, status;if (iss >> date >> interval >> id >> name >> room >> status) {map<string, string> mp;mp.insert(make_pair("date", date));mp.insert(make_pair("interval", interval));mp.insert(make_pair("id", id));mp.insert(make_pair("name", name));mp.insert(make_pair("room", room));mp.insert(make_pair("status", status));Bigmap.insert(make_pair(count, mp));count++;}}ifs.close();return Bigmap;
}
void mapToTxt1(map<int, map<string, string>> &Bigmap) {ofstream ofs;ofs.open(ORDER_FILE, ios::trunc);for (map<int, map<string, string>>::iterator it = Bigmap.begin(); it != Bigmap.end(); it++) {string date = (*it).second["date"];string interval = (*it).second["interval"];string id = (*it).second["id"];string name = (*it).second["name"];string room = (*it).second["room"];string status = (*it).second["status"];ofs <<date << " ";ofs << interval << " ";ofs << id << " ";ofs << name << " ";ofs << room << " ";ofs << status << endl;}ofs.close();
}
// 审核预约
void Teacher::vaildOrder() {map<int, map<string, string>> Bigmap = txtTomap1();ifstream ifs;ifs.open(ORDER_FILE, ios::in);string date;string interval ;string id;string name;string room;string status;int count = 1; // 计数器int target;showAllOrder();cout << "请输入你要审核第几条记录:" << endl;cin >> target;while (true) {if (count == target) {Bigmap[count-1]["status"] = "status:2";break;}count++;}mapToTxt1(Bigmap);ifs.close();
}// 显示老师子菜单
void Teacher::showSecondMenu()
{cout << "欢迎教师:" << this->m_name << "登录!" << endl;cout << "\t\t ----------------------------------\n";cout << "\t\t| |\n";cout << "\t\t| 1.查看所有预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 2.审核预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 0.注销登录 |\n";cout << "\t\t| |\n";cout << "\t\t ----------------------------------\n";cout << "请选择您的操作: " << endl;
}
Manager.cpp
#include<iostream>
using namespace std;
#include "Identity.h"
#include"manager.h"
#include<fstream>
#include"globalFile.h"
// 默认构造
Manager::Manager() {
}
// 有参构造
Manager::Manager(string name, string pw) {m_name = name;m_password = pw;
}
// 判断
bool checkRepeat(string fileName, int id) {ifstream ifs;ifs.open(fileName, ios::in);int Fid;string Fname;string Fpwd;while (ifs >> Fid && ifs >> Fname && ifs >> Fpwd) {if (Fid == id ) {return true;}}return false; // 没有重复的
}
// 添加账号
void Manager::addPerson() {cout << "请输入添加账号的类型" << endl;cout << "1、添加学生" << endl;cout << "2、添加老师" << endl;int choice = 0;cin >> choice;ofstream ofs;string fileName;string tip; // 根据选项不同给不同的提示信息if (choice == 1) {// 添加学生fileName = STUDENT_FILE;tip = "请输入学号:";}else if (choice == 2) {// 添加老师fileName = TEACHER_FILE;tip = "请输入职工编号:";}else {cout << "选项有错误!" << endl;return;}// 添加信息入文件ofs.open(fileName,ios::out|ios::app); // 追加的方式写数据int id;string name;string pwd;while (true) {cout << tip << endl;cin >> id;// 判断是否有重复学号或者职工编号if (checkRepeat(fileName,id)) {// 有重复的cout << "该编号已存在!" << endl;}else {break; // 跳出循环}}cout << "请输入姓名:" << endl;cin >> name;cout << "请输入密码:" << endl;cin >> pwd;// 录入信息ofs << id << " " << name << " " << pwd << " " << endl;ofs.close();cout << "录入完成!" << endl;system("pause");system("cls");
}// 查看账号
void Manager::showPerson() {cout << "请输入查看账号的类型" << endl;cout << "1、查看学生" << endl;cout << "2、查看老师" << endl;int choice = 0;cin >> choice;ifstream ifs;string fileName;string p_id_name; // 学号还是职工编号if (choice == 1) {// 添加学生fileName = STUDENT_FILE;p_id_name = "学号";}else if (choice == 2) {// 添加老师fileName = TEACHER_FILE;p_id_name = "职工编号";}else {cout << "选项有错误!" << endl;return;}int id;string name;string pwd;ifs.open(fileName,ios::in);while (ifs >> id && ifs >> name && ifs >> pwd) {cout << p_id_name << id << " 姓名:" << name << " 密码:" << pwd << endl;}ifs.close();
}
// 查看机房信息
void Manager::showComputer() {ifstream ifs;string m_ComId;string m_MaxNum;ifs.open(COMPUTER_FILE, ios::in);while (ifs >> m_ComId && ifs >> m_MaxNum) {cout << "机房编号: " << m_ComId << " 机房最大容量: " << m_MaxNum << endl;}ifs.close();
}
// 清空预约记录
void Manager::clearFile() {ofstream ofs;ofs.open(ORDER_FILE, ios::trunc); // 如果存在清空ofs.close();
}// 显示管理员子菜单
void Manager::showSecondMenu()
{cout << "欢迎管理员:" << this->m_name << "登录!" << endl;cout << "\t\t ---------------------------------\n";cout << "\t\t| |\n";cout << "\t\t| 1.添加账号 |\n";cout << "\t\t| |\n";cout << "\t\t| 2.查看账号 |\n";cout << "\t\t| |\n";cout << "\t\t| 3.查看机房 |\n";cout << "\t\t| |\n";cout << "\t\t| 4.清空预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 0.注销登录 |\n";cout << "\t\t| |\n";cout << "\t\t ---------------------------------\n";cout << "请选择您的操作: " << endl;
}
Student.cpp
#include"student.h"// 默认构造
Student::Student() {
}
// 有参构造
Student::Student(int id, string name, string pw) {m_id = id;m_name = name;m_password = pw;
}
// 申请预约
void Student::applyOrder() {// 相当于在order.txt中创建一条预约指令cout << "机房开放时间为周一至周五!" << endl;cout << "请输入申请预约的时间:" << endl;cout << "1、周一" << endl;cout << "2、周二" << endl;cout << "3、周三" << endl;cout << "4、周四" << endl;cout << "5、周五" << endl;int date = 0;int interval = 0;int room = 0;while (true){cin >> date;if (date >= 1 && date <= 5){break;}cout << "输入有误,请重新输入" << endl;}cout << "请输入申请预约的时间段:" << endl;cout << "1、上午" << endl;cout << "2、下午" << endl;while (true){cin >> interval;if (interval >= 1 && interval <= 2){break;}cout << "输入有误,请重新输入" << endl;}cout << "请选择机房:" << endl;ifstream ifsCom;string m_ComId;string m_MaxNum;ifsCom.open(COMPUTER_FILE, ios::in);while (ifsCom >> m_ComId && ifsCom >> m_MaxNum) {cout << "机房编号: " << m_ComId << " 机房最大容量: " << m_MaxNum << endl;}ifsCom.close();while (true){cin >> room;if (room >= 1 && room <= 3){break;}cout << "输入有误,请重新输入" << endl;}cout << "预约成功!审核中" << endl;ofstream ofs(ORDER_FILE, ios::app);ofs << "date:" << date << " ";ofs << "interval:" << interval << " ";ofs << "stuId:" << this->m_id << " ";ofs << "stuName:" << this->m_name << " ";ofs << "roomId:" << room << " ";ofs << "status:" << 1 << endl;ofs.close();system("pause");system("cls");
}
// 显示预约
void Student::showMyOrder() {ifstream ifs;ifs.open(ORDER_FILE, ios::in);string date;string interval;string id;string name;string room;string status;while (ifs >> date && ifs >> interval && ifs >> id && ifs >> name && ifs >> room && ifs >> status) {string t_name = name.substr(name.find(":")+1); // 拿到真实姓名if (t_name.compare(this->m_name) == 0) {cout << date << interval << id << name << room << status << endl;}}ifs.close();
}
// 查看所有预约
void Student::showAllOrder() {ifstream ifs;ifs.open(ORDER_FILE, ios::in);string date;string interval;string id;string name;string room;string status;while (ifs >> date && ifs >> interval && ifs >> id && ifs >> name && ifs >> room && ifs >> status) {cout << date << interval << id << name << room << status << endl;}ifs.close();
}
map<int, map<string, string>> txtTomap() {ifstream ifs;ifs.open(ORDER_FILE, ios::in);map<int, map<string, string>> Bigmap;string date;string interval;string id;string name;string room;string status;int count = 0; // 序号string line;while (getline(ifs, line)) {istringstream iss(line);string date, interval, id, name, room, status;if (iss >> date >> interval >> id >> name >> room >> status) {map<string, string> mp;mp.insert(make_pair("date", date));mp.insert(make_pair("interval", interval));mp.insert(make_pair("id", id));mp.insert(make_pair("name", name));mp.insert(make_pair("room", room));mp.insert(make_pair("status", status));Bigmap.insert(make_pair(count, mp));count++;}}ifs.close();return Bigmap;
}
void mapToTxt(map<int, map<string, string>> Bigmap) {ofstream ofs;ofs.open(ORDER_FILE, ios::trunc);for (map<int, map<string, string>>::iterator it = Bigmap.begin(); it != Bigmap.end(); it++) {string date = (*it).second["date"];string interval = (*it).second["interval"];string id = (*it).second["id"];string name = (*it).second["name"];string room = (*it).second["room"];string status = (*it).second["status"];ofs << date << " ";ofs << interval << " ";ofs <<id << " ";ofs << name << " ";ofs << room << " ";ofs << status << endl;}ofs.close();
}
// 取消预约
void Student::cancelOrder() {map<int, map<string, string>> Bigmap = txtTomap();ifstream ifs;ifs.open(ORDER_FILE, ios::in);string date;string interval;string id;string name;string room;string status;int count = 1; // 计数器int target;cout << "请输入你要修改第几条记录:" << endl;cin >> target;string line;while (getline(ifs, line)) {istringstream iss(line);string date, interval, id, name, room, status;if (iss >> date >> interval >> id >> name >> room >> status) {string t_name = name.substr(name.find(":") + 1);if (count == target) {if (t_name == this->m_name) {Bigmap[count - 1]["status"] = "status:0";cout << "修改成功!" << endl;}else {cout << "修改失败!" << endl;}}count++;}}mapToTxt(Bigmap);ifs.close();
}
// 显示学生子菜单
void Student::showSecondMenu()
{cout << "欢迎学生代表:" << this->m_name << "登录!" << endl;cout << "\t\t ----------------------------------\n";cout << "\t\t| |\n";cout << "\t\t| 1.申请预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 2.查看我的预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 3.查看所有预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 4.取消预约 |\n";cout << "\t\t| |\n";cout << "\t\t| 0.注销登录 |\n";cout << "\t\t| |\n";cout << "\t\t ----------------------------------\n";cout << "请选择您的操作: " << endl;
}
四、机房预约系统
#include <iostream>
using namespace std;
#include "Identity.h"
#include <fstream>
#include "student.h"
#include "teacher.h"
#include "manager.h"void managerMenu(Identity*& manager)
{while (true){//管理员菜单manager->showSecondMenu();Manager* man = (Manager*)manager;int select = 0;cin >> select;if (select == 1) //添加账号{cout << "添加账号" << endl;man->addPerson();}else if (select == 2) //查看账号{cout << "查看账号" << endl;man->showPerson();}else if (select == 3) //查看机房{cout << "查看机房" << endl;man->showComputer();}else if (select == 4) //清空预约{cout << "清空预约" << endl;man->clearFile();}else{delete manager;cout << "注销成功" << endl;system("pause");system("cls");return;}}
}
//学生菜单
void studentMenu(Identity*& student)
{while (true){//学生菜单student->showSecondMenu();Student* stu = (Student*)student;int select = 0;cin >> select;if (select == 1) //申请预约{stu->applyOrder();}else if (select == 2) //查看自身预约{stu->showMyOrder();}else if (select == 3) //查看所有预约{stu->showAllOrder();}else if (select == 4) //取消预约{stu->cancelOrder();}else{delete student;cout << "注销成功" << endl;system("pause");system("cls");return;}}
}
void TeacherMenu(Identity*& teacher)
{while (true){Teacher* tea = (Teacher*)teacher;//教师菜单teacher->showSecondMenu();int select = 0;cin >> select;if (select == 1){//查看所有预约tea->showAllOrder();}else if (select == 2){//审核预约tea->vaildOrder();}else{delete teacher;cout << "注销成功" << endl;system("pause");system("cls");return;}}
}
void showmenu() {cout << "====================== 欢迎来到机房预约系统 =====================" << endl;cout << "\t\t -------------------------------\n";cout << "\t\t| |\n";cout << "\t\t| 1.学生代表 |\n";cout << "\t\t| |\n";cout << "\t\t| 2.老 师 |\n";cout << "\t\t| |\n";cout << "\t\t| 3.管 理 员 |\n";cout << "\t\t| |\n";cout << "\t\t| 0.退 出 |\n";cout << "\t\t| |\n";cout << "\t\t -------------------------------\n";
}
// 登录验证的全局函数
void LoginIn(string Filename, int type) {// Filename表示应该读哪个文件,type表示哪一个类别角色Identity* person = NULL;int id=0;string name;string pwd;// 创建读文件对象ifstream ifs;ifs.open(Filename,ios::in);// 判断文件是否存在if (!ifs.is_open()) {cout << "文件不存在!" << endl;ifs.close();return;}else {if (type == 1) {// 学生 提示输入学号cout << "请输入学号:" << endl;cin >> id;}else if(type == 2) {// 教师 提示输入教工号cout << "请输入职工号:" << endl;cin >> id;}cout << "请输入姓名:" << endl;cin >> name;cout << "请输入密码:" << endl;cin >> pwd;if (type == 1) {// 学生登录int Fid;string Fname;string Fpwd;while (ifs >> Fid && ifs >> Fname && ifs >> Fpwd) {if (Fid == id && (Fname.compare(name) == 0) && (Fpwd.compare(pwd) == 0)) {cout << "登录成功!" << endl;// 创建学生对象person = new Student(id, name, pwd);studentMenu(person);system("pause");system("cls");return; // 退出}}}else if (type == 2) {// 教师登录int Fid;string Fname;string Fpwd;while (ifs >> Fid && ifs >> Fname && ifs >> Fpwd) {if (Fid == id && (Fname.compare(name) == 0) && (Fpwd.compare(pwd) == 0)) {cout << "登录成功!" << endl;// 创建教师对象person = new Teacher(id, name, pwd);TeacherMenu(person);system("pause");system("cls");return; // 退出}}}else if (type == 3) {// 管理员登录string Fname;string Fpwd;while (ifs >> Fname && ifs >> Fpwd) {if ((Fname.compare(name) == 0) && (Fpwd.compare(pwd) == 0)) {cout << "登录成功!" << endl;// 创建管理员对象person = new Manager(name, pwd);managerMenu(person);system("pause");system("cls");return; // 退出}}}}cout << "登录失败!" << endl;system("pause");system("cls");
}int main() {int num=0;while (true){showmenu();cout << "请输入你的身份:";cin >> num;switch (num){// 进入学生子菜单case 1:LoginIn(STUDENT_FILE, 1);break;// 进入老师子菜单case 2:LoginIn(TEACHER_FILE, 2);break;// 进入管理员子菜单case 3:LoginIn(ADMIN_FILE, 3);break;// 退出case 0:cout << "欢迎下次使用!" << endl;return 0;default:cout << "没有这个选项,请重新输入!" << endl;break;}}system("pause");return 0;}
五、测试案例
====================== 欢迎来到机房预约系统 =====================-------------------------------| || 1.学生代表 || || 2.老 师 || || 3.管 理 员 || || 0.退 出 || |-------------------------------
请输入你的身份:1
请输入学号:
1
请输入姓名:
张三
请输入密码:
123
登录成功!
欢迎学生代表:张三登录!----------------------------------| || 1.申请预约 || || 2.查看我的预约 || || 3.查看所有预约 || || 4.取消预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
3
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:2interval:2stuId:2stuName:李四roomId:2status:1
date:2interval:1stuId:2stuName:李四roomId:2status:0
欢迎学生代表:张三登录!----------------------------------| || 1.申请预约 || || 2.查看我的预约 || || 3.查看所有预约 || || 4.取消预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
2
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:0
欢迎学生代表:张三登录!----------------------------------| || 1.申请预约 || || 2.查看我的预约 || || 3.查看所有预约 || || 4.取消预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
4
请输入你要修改第几条记录:
2
修改成功!
欢迎学生代表:张三登录!----------------------------------| || 1.申请预约 || || 2.查看我的预约 || || 3.查看所有预约 || || 4.取消预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
3
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:2interval:2stuId:2stuName:李四roomId:2status:1
date:2interval:1stuId:2stuName:李四roomId:2status:0
欢迎学生代表:张三登录!----------------------------------| || 1.申请预约 || || 2.查看我的预约 || || 3.查看所有预约 || || 4.取消预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
====================== 欢迎来到机房预约系统 =====================-------------------------------| || 1.学生代表 || || 2.老 师 || || 3.管 理 员 || || 0.退 出 || |-------------------------------
请输入你的身份:2
请输入职工号:
1
请输入姓名:
老王
请输入密码:
123456
登录成功!
欢迎教师:老王登录!----------------------------------| || 1.查看所有预约 || || 2.审核预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
1
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:2interval:2stuId:2stuName:李四roomId:2status:1
date:2interval:1stuId:2stuName:李四roomId:2status:0
欢迎教师:老王登录!----------------------------------| || 1.查看所有预约 || || 2.审核预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
2
date:1interval:1stuId:1stuName:张三roomId:1status:2
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:1interval:1stuId:1stuName:张三roomId:1status:0
date:2interval:2stuId:2stuName:李四roomId:2status:1
date:2interval:1stuId:2stuName:李四roomId:2status:0
请输入你要审核第几条记录:
2
欢迎教师:老王登录!----------------------------------| || 1.查看所有预约 || || 2.审核预约 || || 0.注销登录 || |----------------------------------
请选择您的操作:
====================== 欢迎来到机房预约系统 =====================-------------------------------| || 1.学生代表 || || 2.老 师 || || 3.管 理 员 || || 0.退 出 || |-------------------------------
请输入你的身份:3
请输入姓名:
admin
请输入密码:
123
登录成功!
欢迎管理员:admin登录!---------------------------------| || 1.添加账号 || || 2.查看账号 || || 3.查看机房 || || 4.清空预约 || || 0.注销登录 || |---------------------------------
请选择您的操作:
2
查看账号
请输入查看账号的类型
1、查看学生
2、查看老师
1
学号1 姓名:张三 密码:123
学号2 姓名:李四 密码:456
欢迎管理员:admin登录!---------------------------------| || 1.添加账号 || || 2.查看账号 || || 3.查看机房 || || 4.清空预约 || || 0.注销登录 || |---------------------------------
请选择您的操作:
2
查看账号
请输入查看账号的类型
1、查看学生
2、查看老师
2
职工编号1 姓名:老王 密码:123456
欢迎管理员:admin登录!---------------------------------| || 1.添加账号 || || 2.查看账号 || || 3.查看机房 || || 4.清空预约 || || 0.注销登录 || |---------------------------------
请选择您的操作:
3
查看机房
欢迎管理员:admin登录!---------------------------------| || 1.添加账号 || || 2.查看账号 || || 3.查看机房 || || 4.清空预约 || || 0.注销登录 || |---------------------------------
请选择您的操作:
1
添加账号
请输入添加账号的类型
1、添加学生
2、添加老师
1
请输入学号:
1
该编号已存在!
请输入学号:
3
请输入姓名:
赵六
请输入密码:
678
录入完成!
请按任意键继续. . .