C++實現公司設備管理系統

来源:https://www.cnblogs.com/Noiimplant/archive/2023/07/21/17571048.html
-Advertisement-
Play Games

## 1. #### 1.1 設計內容: 編寫一個簡單的實驗室設備管理程式,幫助管理實驗室設備信息。要求具有設備信息管理的功能。其中包括設備信息的錄入、刪除、查詢和修改等功能。還應包括對實驗室信息管理的功能。其中包括對實驗室信息的錄入、刪除、修改和查詢等功能。 #### 1.2 任務和要求 運用面向 ...


1.

1.1 設計內容:

編寫一個簡單的實驗室設備管理程式,幫助管理實驗室設備信息。要求具有設備信息管理的功能。其中包括設備信息的錄入、刪除、查詢和修改等功能。還應包括對實驗室信息管理的功能。其中包括對實驗室信息的錄入、刪除、修改和查詢等功能。

1.2 任務和要求

運用面向對象的程式設計方法,要求選擇動態數組類模板或鏈表類模板,任務中要運用I/O流對象對文件進行讀寫操作。

1.3 提供的基本管理功能有:

添加:即增加一條信息到設備信息中,或增加一條信息到實驗室信息中;
顯示:即在屏幕上顯示所有設備或實驗室信息;
存儲:即將設備信息和實驗室信息分別保存在文件中;
裝入:即將文件中的信息讀入程式;
查詢:可根據設備名稱查找具體情況,若找到,顯示在屏幕上;
修改:可修改設備信息,或對實驗室信息進行修改。
普通管理員的賬戶可以由vip管理員添加
vip 管理員賬號:admin 密碼:123456

2. 代碼實現

#include<iostream>
#include<string>
#include<cstring>
#include <iomanip>
#include <cstdlib>
#include<conio.h>
#include<fstream>
#include<windows.h>
using namespace std;
#define H "----------------------------------------------------------------\n"
#define H1 "|   編號    |     類別  |    名稱    |    價格    |  庫存數量  |\n"
#define H2 "|-----------|-----------|------------|------------|------------|\n"
#define H3 "--------------------------\n"
#define H4 "|   賬號    |    密碼    |\n"
#define H5 "|-----------|------------|\n"
class machine
{
public:
     machine();
	 machine(string a,string b,string c,double d,int e);
	 //char inter_face();//首頁
     void add();//添加數據
     void dele();//刪除數據
     void show();//顯示所有
     void alter();//修改數據
     void select();//查詢數據
     void save_new();//保存新增加數據
private:
	string num;
	string category;
	string name;
	double price;
	int quantity;
};
class account
{
public:
    account();
    char home_face();
	virtual void entrance();
   // void enter;
private:
    string id;
    string password;
};
class admin:public account
{
public:
   admin();
   virtual void admin_enter();
   void entrance();
private:
    string id;
    string password;
};
class vip:public admin
{
public:
	vip();
	void vip_enter();
	void entrance();
	void inter_face();//首頁
    void add();//添加數據
    void dele();//刪除數據
    void show();//顯示所有
    void alter();//修改數據
    void select();//查詢數據
    void save_new();//保存新增加數據
private:
    string id;
    string password;
};
machine::machine()
{
	 num=" ";
	 category=" ";
	 name=" ";
	 price=0;
	 quantity=0;
}
account::account()
{
	id=" ";
	password=" ";
}
admin::admin()
{
	id=" ";
	password=" ";
}
vip::vip()
{
	id="admin";
	password="123456";
}
void account::entrance()
{
	system("color 0b");
    char n;
    machine m;
	while(1)
	{
    system("cls");
    cout <<endl;
	cout<<"\t\t  O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n";
    cout<<"\t\t╔*☆***◎***◇***☆*** 菜單 ***☆***◇***◎***☆*╗\n";
    cout<<"\t\t|★|\t\t               \t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t 1.設備信息顯示\t\t\t|★|\n";
    cout<<"\t\t|☆|\t\t 2.設備信息查詢\t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t 3.返回        \t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t               \t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
	cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";
    cout<<"\t\t請選擇您要實現的功能選項 (1-3): [ ]\b\b";
	while(1)
	{
		cin>>n;getchar();
		if(n<'1'||n>'3')
			printf("輸入錯誤,請您重新輸入選項(1-3):[ ]\b\b");
		else
			break;
	}
	if(n=='1') {m.show();}
	if(n=='2') m.select();
	if(n=='3') return;
	}
}
void admin::admin_enter()
{
    string pp;
	char m;
	admin Admin;
	system("cls");
	cout<<endl<<endl<<endl;
	cout<<"\t\t O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n\n";
   while(1)
   {
	ifstream inData("e:\\Document.txt",ios::in);
   cout<<"\t\t 請輸入您的管理員賬號:\n\t\t  (若返回上一個頁面,請輸入#號)"<<endl;
   cout<<"\t\t ";
   cin>>pp;
    if (!inData)
    {
        cout <<endl <<"\n對不起!賬號不存在" <<endl;
        system("pause");
        return;
    }
   if(pp=="#") return;
    string qq;
    l:; cout<<"\t\t 請輸入您的密碼:\n";
    cout<<"\t\t ";
    while(1)
    {
       m=getch();
       if(m==13) break;
       if(m!=8) qq+=m;
       if(m==8) {cout<<endl;goto l;}
       cout<<"*";
    }
    bool flag =true;
    string str;
    while (inData>>id>>password)
    {
        getline(inData, str);
        if (id==pp)
        {
			flag = false;
			if(password==qq)
			{
                 Admin.entrance();
                 return;
			}
            else
             cout<<"\n\t\t    對不起!密碼錯誤!!\n"<<endl;
        }
    }
    if(flag)
    {
        cout<<"\n\t\t    對不起!賬號不存在!!\n"<<endl;
        //system("pause");
    }
 
   }
 
}
void vip::vip_enter()
{
   string pp;
   char m;
   vip VIP;
   admin Admin;
   system("cls");
   cout<<endl<<endl;
   cout<<"\t\t O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n\n";
   while(1)
   {
   cout<<"\t\t   請輸入您的vip管理員賬號:\n\t\t     (若返回上一個頁面,請輸入#號)"<<endl;
   cout<<"\t\t   ";
   cin>>pp;
   getchar();
   if(pp=="#") return;
   if(pp==VIP.id)
   {
	   L:;cout<<"\t\t   請輸入您的密碼:"<<endl;
	   cout<<"\t\t   ";
       string qq;
       while(1)
       {
       m=getch();
       if(m==13) break;
       if(m!=8) qq+=m;
       if(m==8)
        {
            cout<<endl;goto L;
        }
       cerr<<"*";
       }
	   if(qq==VIP.password)
	   {
		   VIP.entrance();
		   break;
	   }
	   else
	   {
		  cout<<"\n\t\t    對不起!密碼錯誤!!\n"<<endl;
	   }
   }
   else
   {
          cout<<"\t\t    對不起!賬號不存在!!\n"<<endl;
   }
   }
}
void admin::entrance()
{
   system("color 0c");
   char n;
    machine Machine;
	account Account;
	while(1)
	{
    system("cls");
    cout <<endl;
	cout<<"\t\t  O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n";
    cout<<"\t\t╔*☆***◎***◇***☆*** 菜單 ***☆***◇***◎***☆*╗\n";
    cout<<"\t\t|★|\t\t               \t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t 1.設備信息錄入\t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t 2.設備信息顯示\t\t\t|★|\n";
    cout<<"\t\t|☆|\t\t 3.設備信息查詢\t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t 4.設備信息修改\t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t 5.設備信息刪除\t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t 6.返回\t\t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
	cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";
    cout<<"\t\t請選擇您要實現的功能選項 (1-6): [ ]\b\b";
	while(1)
	{
		cin>>n;getchar();
		if(n<'1'||n>'6')
			printf("輸入錯誤,請您重新輸入選項(1-6):[ ]\b\b");
		else
			break;
	}
    switch(n)
	{
    case '1':Machine.add();break;
	case '2':Machine.show();break;
	case '3':Machine.select();break;
	case '4':Machine.alter();break;
	case '5':Machine.dele();break;
    case '6':return;
	}
	}
}
void vip::entrance()
{
   system("color 0e");
    char n;
    machine Machine;
	vip VIP;
	while(1)
	{
    system("cls");
    cout <<endl;
	cout<<"\t\t  O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n";
    cout<<"\t\t╔*☆***◎***◇***☆*** 菜單 ***☆***◇***◎***☆*╗\n";
    cout<<"\t\t|★|\t\t                    \t\t|★|\n";
	cout<<"\t\t|☆|\t\t1.設備信息錄入      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t2.設備信息顯示      \t\t|★|\n";
    cout<<"\t\t|☆|\t\t3.設備信息查詢      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t4.設備信息修改      \t\t|★|\n";
	cout<<"\t\t|☆|\t\t5.設備信息刪除      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t6.編輯管理員信息    \t\t|★|\n";
	cout<<"\t\t|★|\t\t7.返回              \t\t|★|\n";
	cout<<"\t\t|☆|\t\t                    \t\t|☆|\n";
	cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";
    cout<<"\t\t請選擇您要實現的功能選項 (1-7): [ ]\b\b";
	while(1)
	{
		cin>>n;getchar();
		if(n<'1'||n>'7')
			printf("輸入錯誤,請您重新輸入選項(1-7):[ ]\b\b");
		else
			break;
	}
    switch(n)
	{
    case '1':Machine.add();break;
	case '2':Machine.show();break;
	case '3':Machine.select();break;
	case '4':Machine.alter();break;
	case '5':Machine.dele();break;
	case '6':VIP.inter_face();break;
    case '7':return;
	}
	}
}
void vip::inter_face()
{
   system("color 0c");
   char n;
    vip VIP;
	account Account;
	while(1)
	{
    system("cls");
    cout <<endl;
	cout<<"\t\t  O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n";
    cout<<"\t\t╔*☆***◎***◇***☆*** 菜單 ***☆***◇***◎***☆*╗\n";
    cout<<"\t\t|★|\t\t                       \t\t|★|\n";
	cout<<"\t\t|☆|\t\t 1.管理員信息錄入      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t 2.管理員信息顯示      \t\t|★|\n";
    cout<<"\t\t|☆|\t\t 3.管理員信息查詢      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t 4.管理員信息修改      \t\t|★|\n";
	cout<<"\t\t|☆|\t\t 5.管理員信息刪除      \t\t|☆|\n";
	cout<<"\t\t|★|\t\t 6.返回                \t\t|★|\n";
	cout<<"\t\t|☆|\t\t                       \t\t|☆|\n";
	cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";
    cout<<"\t\t請選擇您要實現的功能選項 (1-6): [ ]\b\b";
	while(1)
	{
		cin>>n;getchar();
		if(n<'1'||n>'6')
			printf("輸入錯誤,請您重新輸入選項(1-6):[ ]\b\b");
		else
			break;
	}
    switch(n)
	{
    case '1':VIP.add();break;
	case '2':VIP.show();break;
	case '3':VIP.select();break;
	case '4':VIP.alter();break;
	case '5':VIP.dele();break;
    case '6':return;
	}
	}
}
void Get_xy(int x,int y)   //獲取滑鼠位置
{
    COORD pos;
    pos.X=x;
    pos.Y=y;
    HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hout,pos);
}
char account::home_face()
{
	system("color 0d");
    char n;
    system("cls");
    cout <<endl;
 
    for(int i=0;i<9;i++)   //出現閃動效果
    {
    Get_xy(8,4);
	if(i%2==0)  cout<<"\t   O(∩_∩)O~~ 歡迎進入南陽康佳公司的設備管理系統\n\n";
	else cout<<endl<<endl;
    if(i%2==0) cout<<"\t\t╔*☆***◎***◇***☆*** 菜單 ***☆***◇***◎***☆*╗\n";
    else cout<<endl;
    cout<<"\t\t|★|\t\t               \t\t\t|★|\n";
	if(i%2==0) cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
    else cout<<endl;
	cout<<"\t\t|★|\t\t1.普通登錄     \t\t\t|★|\n";
    cout<<"\t\t|☆|\t\t2.管理員登錄   \t\t\t|☆|\n";
	cout<<"\t\t|★|\t\t3.VIP管理員登錄\t\t\t|★|\n";
	cout<<"\t\t|☆|\t\t4.退出         \t\t\t|☆|\n";
    if(i%2==0)cout<<"\t\t|★|\t\t               \t\t\t|★|\n";
    else cout<<endl;
	cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";
	if(i%2==0)cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";
	else cout<<endl<<endl;
    cout<<"\t\t請選擇您要實現的功能選項 (1-4): [ ]\b\b";
    Sleep(50); if(i<8)system("cls");
    }
	while(1)
	{
		cin>>n;getchar();
		if(n<'1'||n>'4')
			printf("輸入錯誤,請您重新輸入選項(1-4):[ ]\b\b");
		else
			return n;
	}
}
//添加設備
void machine::add()
{
     char m;
     bool flag=true;
     ifstream inData("e:\\pbook.txt",ios::in);
     do
     {
    cout <<endl <<"根據下麵提示添加新設備的信息" <<endl <<endl
        <<"編號 : " ;
    cin >>num;
    cout <<"類別 : ";
    do
    {
        cin >>category;
        if(category=="tv"||category=="dvd"||category=="tv_dvd") break;
        else
          cout<<"請輸入tv或dvd或tv_dvd  " <<endl ;
    }while(1);
    cout <<"名稱 : ";
    cin >>name;
    cout <<"價格 : ";
    cin >>price;
    cout <<"庫存數量 : ";
    cin >>quantity;
    if (!inData)
    {
        flag=true;
    }
    string sign,str;
    while (inData>>sign)
    {
        getline(inData, str);
        if (num==sign)
        {
            flag = false;
        }
    }
    if(flag) save_new();
    else
    cout <<endl <<endl <<"設備編號已經存在,不能重覆添加" <<endl <<endl;
    cout<<"\t是否繼續添加?(y/n):[ ]\b\b";
    cin>>m;
    if(m=='n') break;
    }while(1);
}
//添加管理員
void vip::add()
{
     char m;
     bool flag=true;
     ifstream inData("e:\\Document.txt",ios::in);
     do
     {
    cout <<endl <<"根據下麵提示添加新管理員的信息" <<endl <<endl
        <<"賬號 : " ;
    cin >>id;
    cout<<"密碼 : ";
    cin >>password;
    if (!inData)
    {
        flag=true;
    }
    string sign,str;
    while (inData>>sign>>str)
    {
        if (id==sign)
        {
            flag = false;
        }
    }
    if(flag) save_new();
    else
    cout <<endl <<endl <<"管理員號已經存在,不能重覆添加" <<endl <<endl;
    cout<<"\t是否繼續添加?(y/n):[ ]\b\b";
    cin>>m;
    if(m=='n') break;
    }while(1);
}
//刪除設備
void machine::dele()
{
    ofstream outData("e:\\temp.txt", ios::out);
    ifstream inData("e:\\pbook.txt", ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!找不到文件!!!!" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"你要刪除設備的編號 :";
    cin >>sign;
    string str1;
    bool flag = true;
    string str;
    while(inData>>num)
    {
        getline(inData,str);
        if(sign==num)
        {
            cout <<endl <<"你想刪除的設備:" <<endl <<endl;
			cout<<H<<H1<<H2;
            cout<<setw(10)<<num<<str<<endl;
	        cout<<H2;
            flag = false;
            break;
        }
        outData<<setiosflags(ios::left)<<num<<setw(10)<<str<<endl;
    }
    if (flag)
    {
        cout <<endl <<"對不起!!!沒有你找的設備!!!!" <<endl <<endl;
    }
    else
    {
        while (getline(inData, str))
        {
            outData<<str<<endl;
        }
        outData.close();
        inData.close();
        ofstream out("e:\\pbook.txt", ios::out);
        ifstream in("e:\\temp.txt", ios::in);
        if (!out||!in)
        {
            cout <<endl <<"對不起,不能打開文件!!!" <<endl <<endl;
            system("pause");
            return;
        }
        while (getline(in,str))
        {
            out<<str<<endl;
        }
        out.close();
        in.close();
        cout <<endl <<"這個設備的信息已經刪除!!!" <<endl <<endl;
    }
    system("pause");
}
//刪除管理員
void vip::dele()
{
    ofstream outData("e:\\temp1.txt", ios::out);
    ifstream inData("e:\\Document.txt", ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!找不到文件!!!!" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"你要刪除管理員的帳號 :";
    cin >>sign;
    string str1;
    bool flag = true;
    string str;
    while(inData>>id)
    {
        getline(inData,str);
        if(sign==id)
        {
            cout <<endl <<"你想刪除的管理員:" <<endl <<endl;
			cout<<H3<<H4<<H5;
            cout<<setw(10)<<id<<str<<endl;
			cout<<H5;
            flag = false;
            break;
        }
        outData<<setiosflags(ios::left)<<id<<setw(10)<<str<<endl;
    }
    if (flag)
    {
        cout <<endl <<"對不起!!!沒有你找的管理員信息!!!!" <<endl <<endl;
    }
    else
    {
        while (getline(inData, str))
        {
            outData<<str<<endl;
        }
        outData.close();
        inData.close();
        ofstream out("e:\\Document.txt", ios::out);
        ifstream in("e:\\temp1.txt", ios::in);
        if (!out||!in)
        {
            cout <<endl <<"對不起,不能打開文件!!!" <<endl <<endl;
            system("pause");
            return;
        }
        while (getline(in,str))
        {
            out<<str<<endl;
        }
        out.close();
        in.close();
        cout <<endl <<"這個管理員的信息已經刪除!!!" <<endl <<endl;
    }
    system("pause");
}
//顯示所有信息
void machine::show()
{
    ifstream inData("e:\\pbook.txt",ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!沒有找到文件!!!!!" <<endl;
        system("pause");
        return;
    }
    bool flag = true;
    string record;
    while (getline(inData, record))
    {
        if (flag)
        {
            cout <<endl <<"所有設備信息如下: "<<endl;
			cout<<H<<H1<<H2;
        }
 
        cout <<record<<endl;
		cout<<H2;
        flag = false;
    }
 
    if (flag)
    {
        cout <<endl <<"系統中沒有設備信息!!!!!" <<endl <<endl;
    }
    else
    {
        cout <<endl <<"所有設備信息已經全部顯示出來!!!!!" <<endl <<endl;
    }
 
    system("pause");
}
void vip::show()
{
    ifstream inData("e:\\Document.txt",ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!沒有找到文件!!!!!" <<endl;
        system("pause");
        return;
    }
    bool flag = true;
    string record;
    while (getline(inData, record))
    {
        if (flag)
        {
            cout <<endl <<"所有管理員信息如下: "<<endl;
			cout<<H3<<H4<<H5;
        }
        cout <<record<<endl;
		cout<<H5;
        flag = false;
    }
 
    if (flag)
    {
        cout <<endl <<"系統中沒有管理員信息!!!!!" <<endl <<endl;
    }
    else
    {
        cout <<endl <<"所有管理員信息已經全部顯示出來!!!!!" <<endl <<endl;
    }
 
    system("pause");
}
//修改信息
void machine::alter()
{
    ofstream outData("e:\\temp.txt", ios::out);
    ifstream inData("e:\\pbook.txt", ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!找不到文件!!!!" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"你要修改設備的編號 :";
    cin >>sign;
    bool flag = true;
    string str;
    while (inData>>num)
    {
        getline(inData, str);
        if (sign==num)
        {
            cout <<endl <<"你想修改的設備信息:" <<endl <<endl;
			cout<<H<<H1<<H2;
            cout<<setw(10)<<num<<str<<endl;
			cout<<H2;
            cout <<endl <<"請根據下麵提示修改信息 : " <<endl;
            cout<<"編號 : " ;
            cin >>num;
            cout <<"類別 : ";
            cin >>category;
            cout <<"名稱 : ";
            cin >>name;
            cout <<"價格 : ";
            cin >>price;
            cout <<"庫存數量 : ";
            cin >>quantity;
            save_new();
            flag = false;
            break;
        }
        outData<<setiosflags(ios::left)<<num<<setw(10)<<str<<endl;
    }
    if (flag)
    {
        cout <<endl <<"對不起!!!沒有找到這個設備!!!!" <<endl <<endl;
    }
    else
    {
        while(getline(inData, str))
        {
            outData <<str <<endl;
        }
        outData.close();
        inData.close();
        ofstream out("e:\\pbook.txt", ios::out);
        ifstream in("e:\\temp.txt", ios::in);
        if (!out||!in)
        {
            cout <<endl <<"對不起不能打開文件!!!" <<endl <<endl;
            system("pause");
            return;
        }
        while (getline(in, str))
        {
            out <<str <<endl;
        }
        out.close();
        in.close();
        cout <<endl <<"這個設備的信息已經修改!!!" <<endl <<endl;
    }
    system("pause");
}
void vip::alter()
{
    ofstream outData("e:\\temp1.txt", ios::out);
    ifstream inData("e:\\Document.txt", ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!!!!找不到文件!!!!" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"你要修改管理員的帳號 :";
    cin >>sign;
    bool flag = true;
    string str;
    while (inData>>id)
    {
        getline(inData, str);
        if (sign==id)
        {
            cout <<endl <<"你想修改的管理員信息:" <<endl <<endl;
			cout<<H3<<H4<<H5;
            cout<<setw(10)<<id<<str<<endl;
			cout<<H5;
            cout <<endl <<"請根據下麵提示修改信息 : " <<endl;
            cout<<"帳號 : " ;
            cin >>id;
            cout <<"密碼 : ";
            cin >>password;
            save_new();
            flag = false;
            break;
        }
        outData<<setiosflags(ios::left)<<id<<setw(10)<<str<<endl;
    }
    if (flag)
    {
        cout <<endl <<"對不起!!!沒有找到這個管理員信息!!!!" <<endl <<endl;
    }
    else
    {
        while(getline(inData, str))
        {
            outData <<str <<endl;
        }
        outData.close();
        inData.close();
        ofstream out("e:\\Document.txt", ios::out);
        ifstream in("e:\\temp1.txt", ios::in);
        if (!out||!in)
        {
            cout <<endl <<"對不起不能打開文件!!!" <<endl <<endl;
            system("pause");
            return;
        }
        while (getline(in, str))
        {
            out <<str <<endl;
        }
        out.close();
        in.close();
        cout <<endl <<"這個設備的信息已經修改!!!" <<endl <<endl;
    }
    system("pause");
}
//查詢設備
void machine::select()
{
    ifstream inData("e:\\pbook.txt",ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!文件找不到" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"輸入你想查找的設備編號: ";
    cin >>sign;
    string str1;
    bool flag =true;
    string str;
    while (inData>>num)
    {
        getline(inData, str);
        if (num==sign)
        {
            cout <<endl <<"你要查找的設備是: " <<endl <<endl;
			cout<<H<<H1<<H2;
            cout <<setw(10)<<num<<str<<endl;
			cout<<H2;
            flag = false;
            system("pause");
            break;
        }
    }
    if(flag)
    {
        cout <<endl <<"你要查找的設備不存在!" <<endl <<endl;
        system("pause");
    }
}
void vip::select()
{
   ifstream inData("e:\\Document.txt",ios::in);
    if (!inData)
    {
        cout <<endl <<"對不起!文件找不到" <<endl;
        system("pause");
        return;
    }
    string sign;
    cout <<endl <<"輸入你想查找的管理員帳號: ";
    cin >>sign;
    string str1;
    bool flag =true;
    string str;
    while (inData>>id)
    {
        getline(inData, str);
        if (id==sign)
        {
            cout <<endl <<"你要查找的管理員信息是: " <<endl <<endl;
			cout<<H3<<H4<<H5;
            cout<<setw(10)<<id<<str<<endl;
			cout<<H5;
            flag = false;
            system("pause");
            break;
        }
    }
    if(flag)
    {
        cout <<endl <<"你要查找的管理員信息不存在!" <<endl <<endl;
        system("pause");
    }
}
void machine::save_new()
{
    ofstream outData("e:\\pbook.txt", ios::app);
    if (!outData)
    {
        cout <<endl <<"對不起!!!打開文件失敗!!!!" <<endl <<endl;
        system("pause");
        return;
    }
	outData	<<setw(10)<<num
        <<" " << setw(10) <<category <<" "
        <<setw(10)<< name <<" "
        <<setw(10)<<price<<" "
        <<setw(10)<<quantity
        <<endl;
    outData.close();
}
void vip::save_new()
{
    ofstream outData("e:\\Document.txt", ios::app);
    if (!outData)
    {
        cout <<endl <<"對不起!!!打開文件失敗!!!!" <<endl <<endl;
        system("pause");
        return;
    }
    outData<<setw(10)<<id
        <<" " << setw(10) <<password <<" "<<endl;
    outData.close();
}
int main()
{
    machine Machine;
    account Account;
	admin Admin;
	vip VIP;
    while(1)
    {
      switch(Account.home_face())
      {
         case '1':Account.entrance();break;
	     case '2':Admin.admin_enter();break;
		 case '3':VIP.vip_enter();break;
		 case '4': MessageBox(NULL,"  Thanks for you!! \n\n \t\t---Made by hrdv \t  ","☆Bye☆Bye☆",0);return 0;//彈框
      }
    }
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 1.安裝Django 終端運行 ``` pip install django ``` ![image-20230721105914778.png](https://s2.loli.net/2023/07/21/E2RhGoHT9uDzKBP.png) 查看django是否安裝成功 ``` pyt ...
  • 要啟動一個新的容器,我們使用 **`docker run`** 命令,後跟鏡像名稱。基本語法如下: ```Bash docker run [選項] 鏡像 [COMMAND] [ARG...] ``` 例如,要運行官方的 Nginx 鏡像,我們可以使用: ```Bash docker run -d - ...
  • 1.前言 C++中包含頭文件存在兩種不同的形式,尖括弧<>和雙引號"",其區別在於搜索範圍和搜索順序。 以Visual Studio 2022為例,我們創建一個工程,在裡面添加主函數main.cpp的文件,以及頭文件test.h Project ├── main.cpp └── test.h 2.搜 ...
  • # 起因 事情是這樣的,我在通過redission進行限流時,用到了在lua腳本里進行數值計算,而我在本地測試過程中,發現所有tonumber()方法時,返回值都是nil,這個原因最後找到了,是沒有配置序列化的方式,出現錯誤提示如下: ``` org.redisson.client.RedisExc ...
  • - 概念 - 水平分表 - 把一個表的數據分到一個資料庫的多張表中,每個表只有這個表的部分數據 - 核心是把一個大表,分割N個小表,每個表的結構是一樣的,數據不一樣,全部表的數據合起來就是全部數據 - 針對數據量巨大的單張表(比如訂單表),按照某種規則(RANGE,HASH取模等),切分到多張表裡面 ...
  • 一. 介紹 ArrayList是List介面的一個實現類,它是Java程式中最常用的集合之一。在ArrayList內部,它使用一個可變長度的數組來存儲元素。當向ArrayList中添加元素時,如果當前的數組容量不足以容納新增的元素,ArrayList會自動進行擴容操作,創建一個更大的數組,並將原始數 ...
  • # 反射機制 ## 引出反射 ![](https://img2023.cnblogs.com/blog/3008601/202307/3008601-20230721155417898-1466904713.png) - 這樣的需求在學習框架時特別多,即通過外部文件配置,在不修改源碼的情況下,來控制 ...
  • Redisson自定義註解實現分散式鎖 在Java項目中使用Redission自定義註解實現分散式鎖: 添加Redission依賴項:在項目的pom.xml中添加Redission依賴項: <dependency> <groupId>org.redisson</groupId> <artifactI ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...