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

基于C++實現(xiàn)酒店管理系統(tǒng)

 更新時間:2022年03月18日 12:08:34   作者:qq_996852067  
這篇文章主要為大家詳細介紹了基于C++實現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

現(xiàn)今大多數(shù)賓館所提供的服務(wù)樣式都各式各樣,規(guī)模大小也是各有不同,但是歸總下來,不可或缺的兩類模塊還是顧客和工作人員。由于對賓館行業(yè)內(nèi)部沒有很深刻的理解,此次系統(tǒng)設(shè)計包括數(shù)據(jù)庫和功能模塊都是根據(jù)網(wǎng)上收集到的材料和個人認知上,簡單模仿和具體實現(xiàn)的。

為滿賓館管理的實際需求,本系統(tǒng)主要實現(xiàn)以下功能:

1、入住登記:登記所入住房間號碼,登記顧客入住時間,退房時間,個人信息(身份證號,手機號,姓名)
2、退房辦理:輸入已經(jīng)入住的房間號,確認完畢即可退房。
3、房間查詢:管理員輸入正確的密碼后即可對房間狀態(tài)查詢,和具體入住信息查詢。
4、密碼修改:管理員對自身密碼進行修改,前提是先輸入正確密碼后才能實現(xiàn)。
5、以txt文檔的形式存儲信息數(shù)據(jù)。
6、使用類封裝。

注:代碼使用前需要先向代碼中自定義路徑下的Input.txt文檔中預(yù)存信息

功能截圖

代碼:

#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<sstream>
#include<windows.h>
#include<stdexcept> ?
#include<conio.h>
using namespace std;

class room
{
private:
?? ?int roomnumber = 0;?? ??? ?//房間號
?? ?int price = 0;?? ??? ??? ?//價格
?? ?int start_date = 0;?? ??? ?//開始 結(jié)束 日期
?? ?int end_date = 0;
?? ?bool order = 0;?? ??? ??? ?//房間狀態(tài) 0/1
?? ?string name;?? ??? ??? ?//個人信息
?? ?string ID;
?? ?string phone;
public:

?? ?void getnumber(int _number)
?? ?{
?? ??? ?roomnumber = _number;
?? ?}
?? ?int returnnumber() const
?? ?{
?? ??? ?return roomnumber;
?? ?}
?? ?void getprice(int _price)
?? ?{
?? ??? ?price = _price;
?? ?}
?? ?int returnprice() const
?? ?{
?? ??? ?return price;
?? ?}
?? ?void getdate(int s, int e)
?? ?{
?? ??? ?if (s < 1 || s > 31 || e < 1 || e > 31 || s >= e) throw runtime_error("錯誤的日期!");
?? ??? ?start_date = s;
?? ??? ?end_date = e;
?? ?}
?? ?int returnstartdate() const
?? ?{
?? ??? ?return start_date;
?? ?}
?? ?int returnenddate() const
?? ?{
?? ??? ?return end_date;
?? ?}
?? ?void getorder(bool _order)
?? ?{
?? ??? ?if (!(_order == 0 || _order == 1)) throw out_of_range("房間狀態(tài)錯誤!");
?? ??? ?order = _order;
?? ?}
?? ?bool returnorder() const
?? ?{
?? ??? ?return order;
?? ?}
?? ?void getname(string _name)
?? ?{
?? ??? ?name = _name;
?? ?}
?? ?string returnname() const
?? ?{
?? ??? ?return name;
?? ?}
?? ?void getID(string id)
?? ?{
?? ??? ?if (id.size() < 18 || id.size() > 19) throw runtime_error("您的身份證號輸入有誤,請重新輸入!(18位)");
?? ??? ?ID = id;
?? ?}
?? ?string returnID() const
?? ?{
?? ??? ?return ID;
?? ?}
?? ?void getphone(string ph)
?? ?{
?? ??? ?if (ph.size() != 11)
?? ??? ??? ?throw runtime_error("您的手機號輸入有誤,請重新輸入(11位)!");
?? ??? ?phone = ph;
?? ?}
?? ?string returnphone() const
?? ?{
?? ??? ?return phone;
?? ?}
?? ?int sumprice()
?? ?{
?? ??? ?return price * (end_date - start_date);
?? ?}
?? ?friend ostream& operator<<(ostream& os, const room* u)//輸出流重載
?? ?{
?? ??? ?os << u->returnnumber() << '\n';
?? ??? ?os << u->returnprice() << '\n';
?? ??? ?os << u->returnstartdate() << '\n';
?? ??? ?os << u->returnenddate() << '\n';
?? ??? ?os << u->returnorder() << '\n';
?? ??? ?os << u->returnname() << '\n';
?? ??? ?os << u->returnID() << '\n';
?? ??? ?os << u->returnphone() << '\n';
?? ??? ?return os;
?? ?}
};

class standard :public room
{
};

class suite :public room
{
};

class kingsize :public room
{
};

void nomorememory()
{
?? ?cerr << "unable to satisfy request for memory\n";
?? ?abort();
}
//new分配異常

int check(int a[], int size, int suspicion)
{
?? ?int judge = 0;
?? ?for (int i = 0; i < size; i++)
?? ?{
?? ??? ?if (suspicion == a[i])
?? ??? ??? ?judge = 1;
?? ?}
?? ?if (judge == 0)
?? ??? ?throw suspicion;
?? ?return 0;
}

class file_exception {
?? ?string filename;
public:
?? ?file_exception(const string& filename) :filename(filename) {}
?? ?~file_exception() {}
?? ?const string& get_filename()const { return filename; }
};


void update(room* p[], const string& filename)//覆蓋/更新原有文件內(nèi)容
{
?? ?ofstream os(filename, ios_base::binary);
?? ?if (os)
?? ?{
?? ??? ?for (int i = 0; i < 6; i++)
?? ??? ?{
?? ??? ??? ?os << p[i];
?? ??? ?}
?? ?}
?? ?else
?? ??? ?throw file_exception(filename);
?? ?os.close();
}

void addRecord(const string& filename, room* current)//以追加模式打開文件,用于記錄
{
?? ?ofstream file(filename, ios_base::app);
?? ?if (file)
?? ?{
?? ??? ?file << current;
?? ??? ?file.close();
?? ?}
?? ?else
?? ??? ?throw file_exception(filename);
?? ?file.close();
}

void password(string rightpassword)
{
part4:
?? ?string password;
?? ?cout << "請輸入 密碼: " << endl;
?? ?int i = 0;
?? ?char ch;
?? ?while ((ch = _getch()) != 13)
?? ?{
?? ??? ?password += ch; //字符串拼接
?? ??? ?cout << "*";
?? ?}
?? ?if (password != rightpassword)
?? ?{
?? ??? ?cout << "密碼錯誤! 請重新輸入" << endl;
?? ??? ?goto part4;
?? ?}
?? ?cout << "密碼正確!" << endl;
?? ?fflush(stdin);
}

void checkin(room* p[], int size, const string& filename1, const string& filename2)
{
?? ?HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄
?? ?cout.width(120);
?? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
?? ?cout << "歡迎來到 小劉 酒店!\n本酒店設(shè)有 標準房, 商務(wù)套房 和 大床房. \n目前可入住房間為: " << endl;
?? ?int vacant_room[6];
?? ?int j = 0;
?? ?int temp, temp1;
?? ?string str;
?? ?for (int i = 0; i < 6; i++)
?? ?{
?? ??? ?if (p[i]->returnorder() == 0)
?? ??? ?{
?? ??? ??? ?temp1 = p[i]->returnnumber();
?? ??? ??? ?cout << temp1 << "、";
?? ??? ??? ?vacant_room[j] = temp1;
?? ??? ??? ?j++;
?? ??? ?}
?? ?}
?? ?cout << endl << "101-102 是標準間. 價格為 100 CNY 每晚" << endl;
?? ?cout << "103-104 是商務(wù)套間. 價格為 200 CNY 每晚" << endl;
?? ?cout << "105-106 是大床房. 價格為 300 CNY 每晚" << endl;
part1:
?? ?try
?? ?{
?? ??? ?cout << '\n' << setiosflags(ios_base::left) << " 請輸入你選擇的房間號." << endl;
?? ??? ?cout << "共有 " << j << " 間空房." << endl;
?? ??? ?cin >> temp;
?? ??? ?check(vacant_room, j, temp);
?? ?}
?? ?catch (int e)
?? ?{
?? ??? ?cout << "房間 " << e << " 不可選擇入住,請重新選擇." << endl;
?? ??? ?goto part1;
?? ?}
?? ?room* current = NULL;
?? ?for (int i = 0; i < 6; i++)
?? ?{
?? ??? ?if (p[i]->returnnumber() == temp)
?? ??? ?{
?? ??? ??? ?current = p[i];
?? ??? ??? ?break;
?? ??? ?}
?? ?}
part2:
?? ?try
?? ?{
?? ??? ?cout << "請輸入 入住 日期" << endl;
?? ??? ?cin >> temp;

?? ??? ?cout << "請輸入 離店 日期" << endl;
?? ??? ?cin >> temp1;
?? ??? ?current->getdate(temp, temp1);

?? ??? ?cout << "請輸入您的 姓名 " << endl;
?? ??? ?cin >> str;
?? ??? ?current->getname(str);

?? ??? ?cout << "請輸入您的 身份證號 " << endl;
?? ??? ?cin >> str;
?? ??? ?current->getID(str);

?? ??? ?cout << "請輸入您的 手機號 " << endl;
?? ??? ?cin >> str;
?? ??? ?current->getphone(str);

?? ??? ?current->getorder(static_cast<bool>(1));

?? ??? ?cout << "您的 消費金額 ";
?? ??? ?temp = current->sumprice();
?? ??? ?cout << temp << endl;
?? ?}
?? ?catch (runtime_error& e)
?? ?{
?? ??? ?cout << e.what() << endl;
?? ??? ?goto part2;
?? ?}
?? ?catch (out_of_range& e)
?? ?{
?? ??? ?cout << e.what() << endl;
?? ??? ?goto part2;
?? ?}
?? ?cout << resetiosflags(ios_base::left);
?? ?try
?? ?{
?? ??? ?update(p, filename1);
?? ??? ?addRecord(filename2, current);
?? ?}
?? ?catch (file_exception& e)
?? ?{
?? ??? ?cout << "Fail to open " << e.get_filename() << endl;
?? ?}
}

void checkout(room* p[], int size, const string& filename)
{
?? ?int temp;
?? ?HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄
?? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
?? ?cout << " 感謝您的光臨,歡迎您下次入住! " << endl;
?? ?cout << endl;
part3:
?? ?cout << " 請輸入你想要 退房 的房間號." << endl;
?? ?cin >> temp;
?? ?room* current = NULL;
?? ?cout << setiosflags(ios_base::left);
?? ?int orderroom[6];
?? ?int j = 0;
?? ?try
?? ?{
?? ??? ?for (int i = 0; i < 6; i++)
?? ??? ?{
?? ??? ??? ?if (p[i]->returnnumber() == temp)
?? ??? ??? ?{
?? ??? ??? ??? ?current = p[i];
?? ??? ??? ?}
?? ??? ??? ?if (p[i]->returnorder() == 1)
?? ??? ??? ?{
?? ??? ??? ??? ?orderroom[j] = p[i]->returnnumber();
?? ??? ??? ??? ?j++;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?check(orderroom, j, temp);
?? ?}
?? ?catch (int e)
?? ?{
?? ??? ?cout << "房間 " << e << " 錯誤,請重新輸入!" << endl;
?? ??? ?goto part3;
?? ?}
?? ?cout << resetiosflags(ios_base::left);
?? ?current->getorder(static_cast<bool>(0));
?? ?try
?? ?{
?? ??? ?update(p, filename);
?? ?}
?? ?catch (file_exception& e)
?? ?{
?? ??? ?cout << "Fail to open " << e.get_filename() << endl;
?? ?}
}

void searchfor(room* p[], int size, string& rightpassword)
{
?? ?int temp1;
?? ?password(rightpassword);
?? ?cout << "如果您想要修改密碼 請輸入 1 , 2 鍵繼續(xù)" << endl;
?? ?cin >> temp1;
?? ?fflush(stdin);
?? ?if (temp1 == 1)
?? ?{
?? ??? ?password(rightpassword);
?? ??? ?cout << "請輸入新的密碼 " << endl;
?? ??? ?rightpassword = ' ';
?? ??? ?cin >> rightpassword;
?? ?}
?? ?HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄
?? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
?? ?cout << "請輸入想要查詢的房間號 ." << endl;
?? ?cin >> temp1;
?? ?for (int i = 0; i < 6; i++)
?? ?{
?? ??? ?if (p[i]->returnnumber() == temp1)
?? ??? ?{
?? ??? ??? ?cout << p[i] << endl;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}

int main()
{
?? ?room* p[10];
?? ?set_new_handler(nomorememory);//處理new分配異常
?? ?for (int i = 0; i < 2; i++)
?? ?{
?? ??? ?p[i] = new standard();
?? ?}
?? ?for (int i = 2; i < 4; i++)
?? ?{
?? ??? ?p[i] = new suite();
?? ?}
?? ?for (int i = 4; i < 6; i++)
?? ?{
?? ??? ?p[i] = new kingsize();
?? ?}
?? ?const string filename1 = "此處填寫路徑 ? \\Input.txt";
?? ?const string filename2 = "此處填寫路徑 ? \\Output.txt";
?? ?try
?? ?{
?? ??? ?ifstream ifs;//構(gòu)建輸入流對象,以二進制形式打開,得到文件內(nèi)容
?? ??? ?ifs.open(filename1, ios_base::binary);
?? ??? ?if (ifs)
?? ??? ?{
?? ??? ??? ?for (int i = 0; i < 6; i++)
?? ??? ??? ?{
?? ??? ??? ??? ?int roomnumber, price, start_date, end_date;
?? ??? ??? ??? ?bool order;
?? ??? ??? ??? ?string name;
?? ??? ??? ??? ?string ID;
?? ??? ??? ??? ?string phone;
?? ??? ??? ??? ?ifs >> roomnumber >> price >> start_date >> end_date >> order >> name >> ID >> phone;
?? ??? ??? ??? ?p[i]->getnumber(roomnumber);
?? ??? ??? ??? ?p[i]->getprice(price);
?? ??? ??? ??? ?p[i]->getdate(start_date, end_date);
?? ??? ??? ??? ?p[i]->getorder(order);
?? ??? ??? ??? ?p[i]->getname(name);
?? ??? ??? ??? ?p[i]->getID(ID);
?? ??? ??? ??? ?p[i]->getphone(phone);
?? ??? ??? ?}
?? ??? ?}
?? ??? ?else
?? ??? ??? ?throw file_exception(filename1);
?? ??? ?ifs.close();
?? ?}
?? ?catch (file_exception& e)
?? ?{
?? ??? ?cout << "Fail to open " << e.get_filename() << endl;
?? ?}
?? ?catch (runtime_error& e)
?? ?{
?? ??? ?cout << e.what() << endl;
?? ?}
?? ?catch (out_of_range& e)
?? ?{
?? ??? ?cout << e.what() << endl;
?? ?}

?? ?int temp;
?? ?HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄
?? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
?? ?printf("▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓\n\n");
?? ?cout << "\t\t\t小劉 酒店管理系統(tǒng) ? ? ? ?\n\n\t\t游客 please input 1. 管理員 please input 2." << endl;
?? ?printf("\n▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓\n\n");
?? ?cin >> temp;
?? ?system("cls");
?? ?if (temp == 1)
?? ?{
?? ??? ?while (1)
?? ??? ?{
?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);//設(shè)置背景和字體顏色
?? ??? ??? ?cout << "歡迎來到 小劉 酒店!(游客)\n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
?? ??? ??? ?cout << "若你想要安全退出 ,please input 0. \n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_BLUE);
?? ??? ??? ?cout << "若你想要入住酒店, please input 1.\n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
?? ??? ??? ?cout << "若你想要辦理退房, please input 2.\n";
?? ??? ??? ?int temp2;
?? ??? ??? ?string str;
?? ??? ??? ?cin >> temp2;
?? ??? ??? ?system("cls");
?? ??? ??? ?if (temp2 == 0)
?? ??? ??? ??? ?break;
?? ??? ??? ?if (temp2 == 1)
?? ??? ??? ?{
?? ??? ??? ??? ?checkin(p, 6, filename1, filename2);
?? ??? ??? ?}
?? ??? ??? ?if (temp2 == 2)
?? ??? ??? ?{
?? ??? ??? ??? ?checkout(p, 6, filename1);
?? ??? ??? ?}
?? ??? ??? ?cout << "succeed!" << endl;
?? ??? ??? ?system("pause");
?? ??? ??? ?system("cls");
?? ??? ?}
?? ?}
?? ?if (temp == 2)
?? ?{
?? ??? ?while (1)
?? ??? ?{
?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);//設(shè)置背景和字體顏色
?? ??? ??? ?cout << "歡迎來到 小劉 酒店!(管理員)\n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
?? ??? ??? ?cout << "若你想要安全退出 ,please input 0. \n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_BLUE);
?? ??? ??? ?cout << "若你想要入住酒店, please input 1.\n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
?? ??? ??? ?cout << "若你想要辦退房, please input 2.\n ";

?? ??? ??? ?SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
?? ??? ??? ?cout << "若你想要查詢房間信息, please input 3.\n";
?? ??? ??? ?int temp2;
?? ??? ??? ?string str;
?? ??? ??? ?cin >> temp2;
?? ??? ??? ?system("cls");
?? ??? ??? ?if (temp2 == 0)
?? ??? ??? ??? ?break;
?? ??? ??? ?if (temp2 == 1)
?? ??? ??? ?{
?? ??? ??? ??? ?checkin(p, static_cast<int>(6), filename1, filename2);
?? ??? ??? ?}
?? ??? ??? ?if (temp2 == 2)
?? ??? ??? ?{
?? ??? ??? ??? ?checkout(p, static_cast<int>(6), filename1);
?? ??? ??? ?}
?? ??? ??? ?if (temp2 == 3)
?? ??? ??? ?{
?? ??? ??? ??? ?string rightpassword = "123456";?? ??? ??? ?//默認初始密碼
?? ??? ??? ??? ?searchfor(p, 6, rightpassword);
?? ??? ??? ?}
?? ??? ??? ?system("pause");
?? ??? ??? ?system("cls");
?? ??? ?}
?? ?}
?? ?return 0;
}

注:代碼使用前需要先向代碼中自定義路徑下的Input.txt文檔中預(yù)存信息

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解C語言的結(jié)構(gòu)體中成員變量偏移問題

    詳解C語言的結(jié)構(gòu)體中成員變量偏移問題

    這篇文章主要介紹了C語言的結(jié)構(gòu)體中成員變量偏移問題,以講解如何編寫宏來對成員變量進行修改為主,需要的朋友可以參考下
    2016-04-04
  • C++?OpenGL實現(xiàn)球形的繪制

    C++?OpenGL實現(xiàn)球形的繪制

    這篇文章主要主要為大家詳細介紹了如何利用C++和OpenGL實現(xiàn)球形的繪制,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起動手嘗試一下
    2022-07-07
  • C語言野指針及如何規(guī)避詳解

    C語言野指針及如何規(guī)避詳解

    這篇文章主要為大家介紹了C語言野指針及如何規(guī)避詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 基于Qt實現(xiàn)圖片播放器的示例代碼

    基于Qt實現(xiàn)圖片播放器的示例代碼

    這篇文章主要為大家詳細介紹了如何使用qt制作了一個簡單的圖片播放器,可以播放gif、png等格式圖片。文中的示例代碼講解詳細,需要的可以參考一下
    2022-12-12
  • C++ new/delete相關(guān)知識點詳細解析

    C++ new/delete相關(guān)知識點詳細解析

    C語言用一堆標準庫函數(shù)malloc和free在自由存儲區(qū)中分配存儲空間,而C++則用new和delete表達式實現(xiàn)相同的功能
    2013-09-09
  • C++實現(xiàn)求動態(tài)矩陣各元素的和

    C++實現(xiàn)求動態(tài)矩陣各元素的和

    這篇文章主要為大家詳細介紹了C++實現(xiàn)求動態(tài)矩陣各元素的和,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C語言?模擬實現(xiàn)strlen函數(shù)詳解

    C語言?模擬實現(xiàn)strlen函數(shù)詳解

    在 C 語言 中我們要獲取 字符串 的長度,可以使用strlen 函數(shù),strlen 函數(shù)計算字符串的長度時,直到空結(jié)束字符,但不包括空結(jié)束字符,因為 strlen 函數(shù)時不包含最后的結(jié)束字符的,因此一般使用 strlen函數(shù)計算的字符串的長度會比使用 sizeof 計算的字符串的字節(jié)數(shù)要小
    2022-04-04
  • C語言函數(shù)指針的使用詳解

    C語言函數(shù)指針的使用詳解

    在C語言中,函數(shù)指針是指向函數(shù)的指針變量,本文主要介紹了C語言函數(shù)指針的使用詳解,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C語言實現(xiàn)經(jīng)典掃雷小游戲的示例代碼

    C語言實現(xiàn)經(jīng)典掃雷小游戲的示例代碼

    掃雷游戲是在一個指定的二維空間里,隨機布置雷,把不是雷的位置都找出來,在你點一個位置的時候它會顯示它周圍全部雷的個數(shù),根據(jù)這個線索去找 ,會更容易贏。本文將用C語言實現(xiàn)這一經(jīng)典游戲,感興趣的可以嘗試一下
    2022-11-11
  • 關(guān)于C語言文件操作方法

    關(guān)于C語言文件操作方法

    這篇文章主要介紹了關(guān)于C語言文件操作方法的相關(guān)資料,需要的朋友可以參考下
    2018-03-03

最新評論