C/C++ 机房预约系统
生活随笔
收集整理的這篇文章主要介紹了
C/C++ 机房预约系统
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們在入門C++后都會自己設(shè)計一個系統(tǒng),來檢驗自己的c++基礎(chǔ)是否牢固。而博主最近在某站上跟著黑馬一起看視頻學(xué)習(xí)c++,其中有個機(jī)房預(yù)約系統(tǒng),博主也跟著敲了一下,接下來讓我們一起來看看程序吧。
在設(shè)計一個系統(tǒng)之前我們應(yīng)該思考系統(tǒng)的結(jié)構(gòu),系統(tǒng)的功能以及客戶的需求等等。我設(shè)計的這個系統(tǒng)有以下功能:學(xué)生,老師及管理員三種身份登入,學(xué)生功能:申請預(yù)約,查看預(yù)約,取消預(yù)約
老師功能:查看預(yù)約,處理預(yù)約信息
管理員功能:添加用戶成員,查看機(jī)房信息,清空訂單信息,查看成員信息。
有任何問題請在下面評論,謝謝。
接下來直接上代碼:
文件結(jié)構(gòu)如下圖:
頭文件代碼如下:
1.computerroom.h
#pragma once #include <iostream> #include <fstream> #include <string> #include "filename.h" #include"order.h"using namespace std;class computerroom { public:computerroom();~computerroom();int m_num;int m_size;int m_capatity;vector<computerroom> vCmp;//存儲機(jī)房信息 };2.filename.h
#pragma once #define ROOTNAME "root.txt" #define TEACHERNAME "teacher.txt" #define STUDENTNAME "student.txt" #define COMPUTERNAME "computer.txt" #define ORDERNAME "order.txt"3.identity.h
#pragma once #include <iostream> #include <string>using namespace std;class identity { public:virtual void m_login() = 0;virtual ~identity();string m_name;string m_password; };4.order.h
#pragma once #include<iostream> #include<string> #include<fstream> #include<map> #include<vector> #include"computerroom.h" #include"filename.h"using namespace std;class Order { public:Order();~Order();void update_order();//更新預(yù)約信息map<int, map<string, string>> M;//存儲訂單信息};5.root.h
#pragma once #include "identity.h" #include "filename.h" #include "teacher.h" #include "student.h" #include "computerroom.h" #include <iostream> #include <string> #include <vector> #include <fstream>using namespace std;class root :public identity { public:root();~root();root(string name,string password);virtual void m_login();//登入菜單void addroot();//添加賬號void showroot();//查看賬號void showcomputer();//查看機(jī)房信息void clearfile();//清理預(yù)約信息 };6.student.h
#pragma once #include "identity.h" #include"order.h" #include <iostream> #include <string> #include<vector> #include"computerroom.h" #include "filename.h" #include <fstream>using namespace std;class student :public identity { public:student();~student();student(int id, string name, string password);virtual void m_login();//登入菜單void order();//預(yù)約機(jī)房 void show_my();//查看自身預(yù)約 void show_all();//查看所有預(yù)約void delete_order();//取消預(yù)約 int m_id;};7.teacher.h
#pragma once #include "identity.h" #include "filename.h" #include "order.h" #include <iostream> #include <string> #include <fstream>using namespace std;class teacher :public identity { public:teacher();~teacher();teacher(int id,string name, string password);virtual void m_login();//登入菜單void showorder();//查看所有預(yù)約信息void dealorder();//處理預(yù)約信息int m_id;};源文件
1.computerroom.cpp
#include"computerroom.h"computerroom::computerroom() {Order D;fstream file;int num, capatity, size;file.open(COMPUTERNAME, ios::in);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}int i;while (file >> num && file >> size && file >> capatity){int n = 0;this->m_num = num;string str = to_string(num);for (i = 0; i < D.M.size(); i++){if((!D.M[i]["computer"].compare(str))&& (D.M[i]["status"].compare("3") && (D.M[i]["status"].compare("4"))))n++;}this->m_capatity = capatity;this->m_size = this->m_capatity - n;vCmp.push_back(*this);}file.close(); } computerroom::~computerroom() { }2.identity.cpp
#include "identity.h"identity::~identity() { }3.mian.cpp
#include "filename.h" #include "root.h" #include "teacher.h" #include "student.h"void login(string FILENAME,int n) {identity* p=NULL;int key=0;string name,Fname,password,Fpassword;fstream file;file.open(FILENAME.c_str(),ios::in);if (!file.is_open()){cout << "文件未打開!"<<endl;return;}int id,Fid;if (n == 1){cout << "請輸入學(xué)號:";cin >> id;if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);return;}cout << "請輸入姓名:";cin >> name;cout << "請輸入密碼:";cin >> password;while (file >> Fid && file >> Fname && file >> Fpassword){if (id == Fid && (!name.compare(Fname)) && (!password.compare(Fpassword))){p = new student(id, name, password);cout << "登入成功!" << endl;system("pause");system("cls");key = 1;p->m_login();}}if (key != 1){cout << "登入失敗!" << endl;}}else if (n == 2){cout << "請輸入編號:";cin >> id;rewind(stdin);if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);return;}cout << "請輸入姓名:";cin >> name;cout << "請輸入密碼:";cin >> password;while (file >> Fid && file >> Fname && file >> Fpassword){if (id==Fid&& (!name.compare(Fname)) && (!password.compare(Fpassword))){p = new teacher(id, name, password);cout << "登入成功!" << endl;system("pause");system("cls");key = 1;p->m_login();}}if(key!=1){cout << "登入失敗!" << endl;}}else if(n == 3){cout << "請輸入姓名:";cin >> name;cout << "請輸入密碼:";cin >> password;while (file >> Fname && file >> Fpassword){if ((!name.compare(Fname)) && (!password.compare(Fpassword))){p = new root(name, password);cout << "登入成功!" << endl;system("pause");system("cls");key = 1;p->m_login();}}if (key != 1){cout << "登入失敗!" << endl;}}else{cout << "輸入錯誤!" << endl;return;}file.close(); }int main() {while (true){int ch;cout << "\t\t----------歡迎來到機(jī)房預(yù)約系統(tǒng)----------------" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "\t\t\t\t1.學(xué)生身份登入" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t2.教師身份登入" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t3.管理員身份登入" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t0.退出系統(tǒng)" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "請輸入:";cin >> ch;if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);system("pause");system("cls");continue;}switch (ch){case 1:login(STUDENTNAME, 1); break;case 2:login(TEACHERNAME, 2); break;case 3:login(ROOTNAME, 3); break;case 0:cout << "歡迎下次光臨!" << endl;exit(0);default:cout << "輸入錯誤請重新輸入!" << endl;fflush(stdin);break;}system("pause");system("cls");} }4.order.cpp
#include "order.h"void find_order(map<string, string>& m, string& str) {int start = 0;int pos = str.find(":");string a;a = str.substr(start, pos - start);string b;b = str.substr(pos + 1, str.size() - pos - 1);if (pos != -1){m.insert(make_pair(a, b));} }Order::Order() {fstream file;string str;string Fid, Fname, Fweek, Fday, Fstatus, Fcmp;file.open(ORDERNAME, ios::in);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}int i = 0;while (file >> Fid && file >> Fname && file >> Fcmp && file >> Fweek && file >> Fday && file >> Fstatus){map<string, string> m;find_order(m, Fid);find_order(m, Fname);find_order(m, Fcmp);find_order(m, Fweek);find_order(m, Fday);find_order(m, Fstatus);this->M.insert(make_pair(i, m));i++;}file.close(); }Order::~Order() {}void Order::update_order() {computerroom T;ofstream file1(COMPUTERNAME, ios::out | ios::trunc);if (!file1.is_open()){cout << "文件打開失敗!" << endl;return;}for (vector<computerroom>::iterator it = T.vCmp.begin(); it != T.vCmp.end(); it++){file1 << it->m_num << " " << it->m_size << " " << it->m_capatity << endl;}file1.close();ofstream file;file.open(ORDERNAME, ios::out | ios::trunc);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}int i = 0;for (i = 0; i < this->M.size(); i++){file << "num:" << this->M[i]["num"] << " " << "name:" << this->M[i]["name"] << " " << "computer:" << this->M[i]["computer"] << " " << "week:" << this->M[i]["week"] << " " << "day:" << this->M[i]["day"] << " " << "status:" << this->M[i]["status"] << endl;}file.close(); }5.root.cpp
#include "root.h" root::~root() { } root::root(string name, string password) {this->m_name = name;this->m_password = password; } bool check_same(string FILENAME,int id,string name) {ifstream file;int n = 0;file.open(FILENAME.c_str(), ios::in);if (!file.is_open()){cout << "文件打開失敗!" << endl;return 0;}string Fname,pwd;int Fid;while (file>>Fid&&file>>Fname&&file>>pwd){if (((Fid==id) || (!Fname.compare(name)))){file.close();return false;}}file.close();return true; } void root::m_login() {int ch;while (true){cout << "\t\t----------"<<this->m_name<<"歡迎來到機(jī)房預(yù)約系統(tǒng)----------------" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "\t\t\t\t1.添加賬號" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t2.查看賬號" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t3.查看機(jī)房信息" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t4.清空預(yù)約信息" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t0.返回" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "請輸入:";cin >> ch;if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);return;}switch (ch){case 1:this->addroot(); break;case 2:this->showroot(); break;case 3:this->showcomputer(); break;case 4:this->clearfile(); break;case 0:delete this; return;default:cout << "輸入錯誤,請重新輸入!" << endl;break;}system("pause");system("cls");} } void root::addroot() {ofstream file;int ch=0;int id;string name, password;;cout << "1.添加學(xué)生賬號" << endl;cout << "2.添加教師賬號" << endl;cout << "0.返回" << endl;cout << "請輸入:" ;cin >> ch;if (cin.fail()){cin.clear();rewind(stdin);cout << "輸入錯誤!" << endl;return;}if (ch == 1){cout << "請輸入學(xué)生學(xué)號:";cin >> id;cout << "請輸入學(xué)生姓名:";cin >> name;cout << "請輸入學(xué)生密碼:";cin >> password;bool temp = check_same(STUDENTNAME, id, name);file.open(STUDENTNAME, ios::out|ios::app);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}if (temp){file << id << " " << name << " " << password << endl;}else{cout << "學(xué)號/姓名已存在" << endl;return;}}else if (ch == 2){cout << "請輸入教師編號:";cin >> id;cout << "請輸入教師姓名:";cin >> name;cout << "請輸入教師密碼:";cin >> password;bool temp = check_same(TEACHERNAME, id, name);file.open(TEACHERNAME, ios::out | ios::app);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}if (temp){file << id << " " << name << " " << password << endl;}else{cout << "教師編號/姓名已存在" << endl;return;}}else{return;}cout << "添加成功!" << endl;file.close(); }void root::showroot() {int ch;int id;string name, password;ifstream file;cout << "1.查看學(xué)生賬號信息" << endl;cout << "2.查看老師賬號信息" << endl;cout << "0.返回" << endl;cout << "請輸入:";cin >> ch;if (cin.fail()){cin.clear();rewind(stdin);cout << "輸入錯誤!" << endl;return;}if (ch == 1){file.open(STUDENTNAME,ios::in);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}cout << "所有學(xué)生賬號信息如下:" << endl;while (file >> id && file >> name && file >> password){cout << "學(xué)生學(xué)號:" <<id << "\t學(xué)生姓名:" << name << "\t學(xué)生密碼:" << password << endl;}file.close();return;}else if (ch == 2){file.open(TEACHERNAME, ios::in);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}cout << "所有教師賬號信息如下:" << endl;while (file >> id && file >> name && file >> password){cout << "教師編號:" << id << "\t教師姓名:" << name << "\t教師密碼:" << password << endl;}file.close();return;}else{return;} }void root::showcomputer() {computerroom T;for (vector<computerroom>::iterator it = T.vCmp.begin(); it != T.vCmp.end(); it++){cout <<"機(jī)房編號:\t"<< it->m_num << "\t機(jī)房剩余容量:\t" << it->m_size <<"\t機(jī)房大小:"<< it->m_capatity << endl;} }void root::clearfile() {fstream file;file.open(ORDERNAME,ios::out|ios::trunc);if (!file.is_open()){cout << "文件打開失敗!" << endl;return;}cout << "清空成功!" << endl;file.close(); }6.student.cpp
#include "student.h"student::~student() {}student::student(int id, string name, string password) {this->m_name = name;this->m_password = password;this->m_id = id; }void student::m_login() {int ch; // Order D;while (true){cout << "\t\t----------" << this->m_name << "歡迎來到機(jī)房預(yù)約系統(tǒng)----------------" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "\t\t\t\t1.預(yù)約機(jī)房" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t2.查看自身預(yù)約 " << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t3.查看所有預(yù)約" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t4.取消預(yù)約 " << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t0.返回" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "請輸入:";cin >> ch;if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);return;}switch (ch){case 1:this->order(); break;case 2:this->show_my(); break;case 3:this->show_all(); break;case 4:this->delete_order();break;case 0:delete this; return;default:cout << "輸入錯誤,請重新輸入!" << endl;break;}system("pause");system("cls");} } void student::order() {//ofstream file;Order D;computerroom T;int week=0,cmp_id=0;int day= 0;cout << "1.星期一" << endl;cout << "2.星期二" << endl;cout << "3.星期三" << endl;cout << "4.星期四" << endl;cout << "5.星期五" << endl;cout << "請輸入:";cin >> week;if (cin.fail()){cin.clear();cout << "輸入錯誤,請重新輸入!" << endl;rewind(stdin);return;}if (week != 1 && week != 2 && week != 3 && week != 4 && week != 5){cout << "輸入錯誤,請重新輸入!" << endl;return;}cout << "1.上午" << endl;cout << "2.下午" << endl;cout << "請輸入:";cin >> day;if (cin.fail()){cin.clear();cout << "輸入錯誤,請重新輸入!" << endl;rewind(stdin);return;}if (day != 1 && day != 2){cout << "輸入錯誤,請重新輸入!" << endl;return;}for (vector<computerroom>::iterator it = T.vCmp.begin(); it != T.vCmp.end(); it++){cout << "機(jī)房編號:" << it->m_num << "\t\t機(jī)房剩余容量:" << it->m_size << "\t\t機(jī)房大小:" << it->m_capatity << endl;}cout << "請輸入機(jī)房編號:";cin >> cmp_id;int n=0;for (vector<computerroom>::iterator it = T.vCmp.begin(); it != T.vCmp.end(); it++){if (cmp_id == it->m_num){n = 1;it->m_size--;if (it->m_size < 0){cout << "此機(jī)房已滿!" << endl;return;}break;}}if (n != 1){cout << "輸入錯誤!未查到該機(jī)房!" << endl;return;}if (cin.fail()){cin.clear();cout << "輸入錯誤,請重新輸入!" << endl;rewind(stdin);return;}cout << "\t\t\t\t預(yù)約審核中......" << endl;map<string, string> m;string id=to_string(this->m_id) ;string Week = to_string(week);string Day = to_string(day);string Cmp_id = to_string(cmp_id);m.insert(make_pair("num",id));m.insert(make_pair("name", this->m_name));m.insert(make_pair("computer", Cmp_id));m.insert(make_pair("week", Week));m.insert(make_pair("day", Day));m.insert(make_pair("status", "1"));D.M[D.M.size()] = m;D.update_order();}void student::show_my() {string week, status, str;int i = 0;Order D;for (i = 0; i < D.M.size(); i++){if (!D.M[i]["name"].compare(this->m_name)){if (!D.M[i]["week"].compare("1"))week = "星期一";else if (!D.M[i]["week"].compare("2"))week = "星期二";else if (!D.M[i]["week"].compare("3"))week = "星期三";else if (!D.M[i]["week"].compare("4"))week = "星期四";else if (!D.M[i]["week"].compare("5"))week = "星期五";elseweek = D.M[i]["week"];if (!D.M[i]["status"].compare("1"))status = "審核中";else if (!D.M[i]["status"].compare("2"))status = "預(yù)約成功";else if (!D.M[i]["status"].compare("3"))status = "預(yù)約失敗";else if (!D.M[i]["status"].compare("4"))status = "已取消";elsestatus = "不明確";cout << "學(xué)生學(xué)號:" << D.M[i]["num"] << "\t"<< "學(xué)生姓名:" << D.M[i]["name"] << "\t"<< "機(jī)房編號:" << D.M[i]["computer"] << "\t"<< "week:" << week << "\t"<< "day:" << (D.M[i]["day"].compare("1") ? "下午" : "上午") << "\t"<< "status:" << status << endl;}}}void student::show_all() {string week,status,str;int i=0;Order D;cout<<"\t\t\t\t一共有"<< D.M.size() <<"條記錄"<<endl;for (i = 0; i < D.M.size(); i++){if (!D.M[i]["week"].compare("1"))week = "星期一";else if (!D.M[i]["week"].compare("2"))week = "星期二";else if (!D.M[i]["week"].compare("3"))week = "星期三";else if (!D.M[i]["week"].compare("4"))week = "星期四";else if (!D.M[i]["week"].compare("5"))week = "星期五";elseweek = D.M[i]["week"];if (!D.M[i]["status"].compare("1"))status = "審核中";else if (!D.M[i]["status"].compare("2"))status = "預(yù)約成功";else if (!D.M[i]["status"].compare("3"))status = "預(yù)約失敗";else if (!D.M[i]["status"].compare("4"))status = "已取消";elsestatus = "不明確";cout << "學(xué)生學(xué)號:" << D.M[i]["num"] << "\t"<< "學(xué)生姓名:" << D.M[i]["name"] << "\t"<< "機(jī)房編號:" << D.M[i]["computer"] << "\t"<< "week:" << week << "\t"<< "day:" << (D.M[i]["day"].compare("1")?"下午" : "上午") << "\t"<< "status:" << status << endl;}} void student::delete_order() {Order D;string week, status, str;int i = 0, j = 1;vector<int> v;computerroom T;if (D.M.size() == 0){cout << "該學(xué)生還沒有預(yù)約!" << endl;return;}for (i = 0; i < D.M.size(); i++){if (!D.M[i]["name"].compare(this->m_name)){v.push_back(i);if (!D.M[i]["week"].compare("1"))week = "星期一";else if (!D.M[i]["week"].compare("2"))week = "星期二";else if (!D.M[i]["week"].compare("3"))week = "星期三";else if (!D.M[i]["week"].compare("4"))week = "星期四";else if (!D.M[i]["week"].compare("5"))week = "星期五";elseweek = D.M[i]["week"];if (!D.M[i]["status"].compare("1"))status = "審核中";else if (!D.M[i]["status"].compare("2"))status = "預(yù)約成功";else if (!D.M[i]["status"].compare("3"))status = "預(yù)約失敗";else if (!D.M[i]["status"].compare("4"))status = "已取消";elsestatus = "不明確";cout<<j<<":"<< "\t學(xué)生學(xué)號:" << D.M[i]["num"] << "\t"<< "學(xué)生姓名:" << D.M[i]["name"] << "\t"<< "機(jī)房編號:" << D.M[i]["computer"] << "\t"<< "week:" << week << "\t"<< "day:" << (D.M[i]["day"].compare("1") ? "下午" : "上午") << "\t"<< "status:" << status << endl;j++;}}int ch=0;while (true){cout << "請輸入要取消預(yù)約的編號:";cin >> ch;rewind(stdin);if (cin.fail() || ch > i + 1||ch<=0){cout << "輸入錯誤!" << endl;cin.clear();rewind(stdin);continue;}else{if (D.M[v[ch - 1]]["status"] == "4"){cout << "預(yù)約已取消,無需再次操作!" << endl;return;}D.M[v[ch - 1]]["status"] = "4";string cmp_id= D.M[v[ch - 1]]["computer"];for (vector<computerroom>::iterator it = T.vCmp.begin(); it != T.vCmp.end(); it++){if (atoi(cmp_id.c_str()) == it->m_num){it->m_size++;}}cout << "取消成功!" << endl;break;}}D.update_order(); }7.teacher.cpp
#include "teacher.h"teacher::teacher(int id,string name, string password) {this->m_name = name;this->m_password = password;this->m_id = id;fstream file;}teacher::~teacher() {} void teacher::m_login() {int ch;while (true){cout << "\t\t----------" << this->m_name << "歡迎來到機(jī)房預(yù)約系統(tǒng)----------------" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "\t\t\t\t1.查看所有預(yù)約信息" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t2.處理預(yù)約信息" << endl;cout << "\t\t\t" << endl;cout << "\t\t\t\t0.返回" << endl;cout << "\t\t\t-------------------------------" << endl;cout << "請輸入:";cin >> ch;if(cin.fail()){cout << "輸入錯誤!"<<endl;;cin.clear(); rewind(stdin);return;}switch (ch){case 1:this->showorder(); break;case 2:this->dealorder(); break;case 0:delete this; return;default:cout << "輸入錯誤,請重新輸入!" << endl;break;}system("pause");system("cls");} }void teacher::showorder() {string week, status, str;int i = 0;Order D;cout << "\t\t\t\t一共有" << D.M.size() << "條記錄" << endl;for (i = 0; i < D.M.size(); i++){if (!D.M[i]["week"].compare("1"))week = "星期一";else if (!D.M[i]["week"].compare("2"))week = "星期二";else if (!D.M[i]["week"].compare("3"))week = "星期三";else if (!D.M[i]["week"].compare("4"))week = "星期四";else if (!D.M[i]["week"].compare("5"))week = "星期五";elseweek = D.M[i]["week"];if (!D.M[i]["status"].compare("1"))status = "審核中";else if (!D.M[i]["status"].compare("2"))status = "預(yù)約成功";else if (!D.M[i]["status"].compare("3"))status = "預(yù)約失敗";else if (!D.M[i]["status"].compare("4"))status = "已取消";elsestatus = "不明確";cout << "學(xué)生學(xué)號:" << D.M[i]["num"] << "\t"<< "學(xué)生姓名:" << D.M[i]["name"] << "\t"<< "機(jī)房編號:" << D.M[i]["computer"] << "\t"<< "week:" << week << "\t"<< "day:" << (D.M[i]["day"].compare("1") ? "下午" : "上午") << "\t"<< "status:" << status << endl;} }void teacher::dealorder() {Order D;string week, status, str;int i = 0, j = 1;vector<int> v;computerroom T;if (D.M.size() == 0){cout << "該學(xué)生還沒有預(yù)約!" << endl;return;}cout << "\t\t\t\t待處理的預(yù)約訂單如下:" << endl;for (i = 0; i < D.M.size(); i++){if (!D.M[i]["status"].compare("1")){v.push_back(i);if (!D.M[i]["week"].compare("1"))week = "星期一";else if (!D.M[i]["week"].compare("2"))week = "星期二";else if (!D.M[i]["week"].compare("3"))week = "星期三";else if (!D.M[i]["week"].compare("4"))week = "星期四";else if (!D.M[i]["week"].compare("5"))week = "星期五";elseweek = D.M[i]["week"];if (!D.M[i]["status"].compare("1"))status = "審核中";elsestatus = "不明確";cout << j << ":" << "\t學(xué)生學(xué)號:" << D.M[i]["num"] << "\t"<< "學(xué)生姓名:" << D.M[i]["name"] << "\t"<< "機(jī)房編號:" << D.M[i]["computer"] << "\t"<< "week:" << week << "\t"<< "day:" << (D.M[i]["day"].compare("1") ? "下午" : "上午") << "\t"<< "status:" << status << endl;j++;}}int ch = 0,n=0;while (true){cout << "請輸入要處理預(yù)約的編號:";cin >> ch;rewind(stdin);if (cin.fail() || ch > v.size()|| ch <= 0){cout << "輸入錯誤!請重新輸入:" << endl;cin.clear();rewind(stdin);continue;}else{cout << "1.通過" << endl;cout << "2.不通過" << endl;cout << "0.返回" << endl;cout << "請輸入:";cin >> n;if (cin.fail()){cout << "輸入錯誤!請重新輸入:" << endl;cin.clear();rewind(stdin);continue;}if (n==1){D.M[v[ch-1]]["status"] = "2";}else if (n == 2){D.M[v[ch - 1]]["status"] = "3";}else if (n == 0){return;}else{D.M[v[ch - 1]]["status"] = "3";}cout << "處理成功!" << endl;break;}}D.update_order(); }總結(jié)
以上是生活随笔為你收集整理的C/C++ 机房预约系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022SWJTUACM新秀杯题解
- 下一篇: @click.stop作用(阻止点击事件