欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++機(jī)房預(yù)約系統(tǒng)實(shí)現(xiàn)流程實(shí)例

 更新時間:2022年10月25日 08:53:36   作者:彼此沉默  
這篇文章主要介紹了C++機(jī)房預(yù)約系統(tǒng)實(shí)現(xiàn)流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

1.機(jī)房預(yù)約系統(tǒng)分析

1.1身份簡介

學(xué)生代表:申請使用機(jī)房

教師:審核學(xué)生的預(yù)約申請

管理員:給學(xué)生、教師創(chuàng)建賬號

1.2機(jī)房簡介

1號機(jī)房—最大容量20人

2號機(jī)房—最大容量50人

3號機(jī)房—最多容量100人

1.3申請簡介

申請訂單每周由管理員負(fù)責(zé)清空。

學(xué)生可以預(yù)約未來一周的機(jī)房使用,預(yù)約的日期為周一至周五,預(yù)約時需要選擇預(yù)約時段(上午、下午)

教師審核預(yù)約,依據(jù)實(shí)際情況審核預(yù)約通過或不通過。

1.4系統(tǒng)具體需求

首先進(jìn)入登陸界面,可以選擇登錄身份以及身份驗(yàn)證有:

學(xué)生代表:學(xué)號、姓名、登錄密碼

老師:職工號、姓名、登錄密碼

管理員:管理員姓名、登錄密碼

退出

2.系統(tǒng)實(shí)現(xiàn)

2.1建立身份類

三種類型的使用者都有相同的共性,通過建立父類,將三者的共同屬性建立起來。其中用虛函數(shù)創(chuàng)建子菜單,通過不同的登錄選擇選項(xiàng)進(jìn)入不同的子菜單。這里為了方便將成員變量設(shè)置為公共屬性,如果設(shè)置為私有屬性需要通過友元函數(shù)或者成員函數(shù)提供的接口來訪問私有屬性變量。

using namespace std;
class Identity
{
public:
	//不同的操作菜單
	virtual void Mainpulation_Menu() = 0;
	//用戶名
	string M_Name;
	//密碼
	string M_Password;
};

2.2建立管理者類

管理者類在繼承原有的身份類成員變量和虛函數(shù)的基礎(chǔ)上創(chuàng)建了其自身的成員函數(shù),通過成員函數(shù)來實(shí)現(xiàn)對應(yīng)功能選擇。

class Manager :public Identity
{
public:
	virtual void Mainpulation_Menu();
	Manager();
	~Manager();
	Manager(string name, string password);
	void AddAccount();
	//查看賬號
	void ShowPerson();
	//查看機(jī)房信息
	void ShowComputer();
	//清空預(yù)約記錄
	void ClearFile();
	//初始化容器
	void InitVector();
	//學(xué)生容器
	vector<Student>VStu;
	//老師容器
	vector<Teacher>VTea;
	//檢測重復(fù) 參數(shù)1代表檢測的ID號 參數(shù)2檢測類型
	bool CheckRepeat(int id, int type);
	//機(jī)房容器
	vector<ComputerRoom>VCom;
};

2.3建立老師類

class Teacher :public Identity
{
public:
	~Teacher();
	Teacher();
	Teacher(int empleid, string name, string password);
	//操作菜單
	virtual void Mainpulation_Menu();
	//查看預(yù)約
	void ShowAllorder();
	//審核預(yù)約
	void ChackOrder();
	//職工號
	int M_EmpId;
};

2.4建立學(xué)生類

class Student :public Identity
{
public:
	Student();
	Student(int id, string name, string password);
	~Student();
	//菜單界面
	virtual void Mainpulation_Menu();
	//申請預(yù)約
	void ApplyOreder();
	//查看自身預(yù)約
	void ShowMyOreder();
	//查看所有預(yù)約
	void ShowAllOrder();
	//取消預(yù)約
	void CancelOrder();
	//機(jī)房容器
	vector<ComputerRoom>VCom;
	//學(xué)號
	int M_Id = 0;
};

3.文件處理

3.1管理者的文件

通過文件記錄管理者的姓名和密碼,將信息存在文本文件上。管理者的的有參構(gòu)造函數(shù)將對機(jī)房文本文件的信息寫入到創(chuàng)建機(jī)房容器當(dāng)中,機(jī)房容器存儲著對應(yīng)的機(jī)房號和最大容量信息。

	//初始化機(jī)房信息
	ifstream ifs;
	ifs.open(COMPUTER_FILE, ios::in);
	ComputerRoom com;
	while (ifs >> com.M_ComId && ifs >> com.M_MaxNum)
	{
		VCom.push_back(com);
	}
	ifs.close();

管理者類建立添加賬戶的成員函數(shù)。利用追加的方式分別寫入要創(chuàng)建的學(xué)生或者老師的信息。

	//利用追加的方式寫文件
	ofs.open(File_names, ios::out | ios::app);
	int id;//學(xué)號/職工號
	string name;//姓名
	string pwd;//密碼

3.2老師的文件

通過讀取老師文件中的信息與老師登錄選項(xiàng)做對比。

OrderFile of;
	cout << "請輸入審核的預(yù)約記錄,0代表返回" << endl;
	int select = 0;//接受用戶的選擇的預(yù)約記錄
	int ret = 0;//接受預(yù)約結(jié)果的記錄

3.3學(xué)生文件

	OrderFile of;
	if (of.M_Size == 0)
	{
		cout << "沒有預(yù)約記錄!" << endl;
		system("pause");
		system("cls");
		return;
	}
	cout << "審核中或預(yù)約的記錄可以取消,請輸入取消的記錄!" << endl;
	int index = 1;
	vector<int>v;

4.程序下載地址

鏈接: https://pan.baidu.com/s/1E_6YrUu2YOWZt-hybhP9mQ?pwd=unv8

提取碼: unv8 

到此這篇關(guān)于C++機(jī)房預(yù)約系統(tǒng)實(shí)現(xiàn)流程實(shí)例的文章就介紹到這了,更多相關(guān)C++機(jī)房預(yù)約系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解C語言中index()函數(shù)和rindex()函數(shù)的用法

    詳解C語言中index()函數(shù)和rindex()函數(shù)的用法

    這篇文章主要介紹了C語言中index()函數(shù)和rndex()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,要的朋友可以參考下
    2015-08-08
  • C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除)

    C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除)

    本文主要介紹了C++使用cjson操作Json格式文件(創(chuàng)建、插入、解析、修改、刪除),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C語言實(shí)現(xiàn)高精度減法

    C語言實(shí)現(xiàn)高精度減法

    高精度的本質(zhì)是將數(shù)字以字符串的形式讀入,然后將每一位分別存放入int數(shù)組中,通過模擬每一位的運(yùn)算過程,來實(shí)現(xiàn)最終的運(yùn)算效果,下面我們就來看看C語言如何實(shí)現(xiàn)高精度減法吧
    2023-11-11
  • C++ Vector用法深入剖析

    C++ Vector用法深入剖析

    C++ Vector應(yīng)用方式是比較特殊的,我們將會在這篇文章中針對于它的應(yīng)用方式進(jìn)行一個詳細(xì)的介紹,希望大家能充分掌握這一應(yīng)用技巧
    2014-08-08
  • C++非遞歸建立二叉樹實(shí)例

    C++非遞歸建立二叉樹實(shí)例

    這篇文章主要介紹了C++非遞歸建立二叉樹的方法,實(shí)例分析了二叉樹的原理與C++實(shí)現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C語言實(shí)現(xiàn)的一個三子棋游戲詳解流程

    C語言實(shí)現(xiàn)的一個三子棋游戲詳解流程

    三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對角線連起來,相對兩邊依次擺上三個雙方棋子,只要將自己的三個棋子走成一條線,對方就算輸了
    2021-10-10
  • C語言之直接插入排序算法的方法

    C語言之直接插入排序算法的方法

    這篇文章主要為大家介紹了C語言直接插入排序算法的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題

    QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題

    這篇文章主要介紹了QT中在QLabel顯示圖片并且利用鼠標(biāo)點(diǎn)擊畫線問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++順序容器(vector、deque、list)的使用詳解

    C++順序容器(vector、deque、list)的使用詳解

    本文主要介紹了C++順序容器(vector、deque、list)的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C 語言編寫一個計(jì)算器界面(可視化界面和多功能)

    C 語言編寫一個計(jì)算器界面(可視化界面和多功能)

    今天給大家分享一個計(jì)算器功能,主要功能有加法減法乘除法求余功能,用戶可以在主菜單選擇需要計(jì)算的功能,接下來根據(jù)用戶輸入的數(shù)字進(jìn)行計(jì)算輸出結(jié)果,喜歡的朋友拿去用吧
    2021-06-06

最新評論