溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++圖書管理系統(tǒng)程序的示例代碼

發(fā)布時(shí)間:2022-03-14 09:14:02 來源:億速云 閱讀:565 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“C++圖書管理系統(tǒng)程序的示例代碼”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C++圖書管理系統(tǒng)程序的示例代碼”這篇文章吧。

具體內(nèi)容如下

c++綜合實(shí)驗(yàn),功能基本都實(shí)現(xiàn)了,但是代碼寫的有些繁瑣,還有很大的優(yōu)化空間,僅供參考。

實(shí)驗(yàn)要求

實(shí)驗(yàn)?zāi)康模?/strong>

1、能夠綜合運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)方法,設(shè)計(jì)實(shí)現(xiàn)一個(gè)相對(duì)完整信息管理應(yīng)用程序。
2、能夠適當(dāng)進(jìn)行題目分析、實(shí)驗(yàn)設(shè)計(jì)、核心代碼描述、實(shí)驗(yàn)結(jié)果分析等。

實(shí)驗(yàn):設(shè)計(jì)并編寫一個(gè)C++風(fēng)格應(yīng)用程序,模擬一個(gè)圖書管理系統(tǒng)應(yīng)用程序,支持系統(tǒng)用戶的圖書借閱、圖書管理、用戶管理等功能。圖書借閱管理主要包括圖書借閱、圖書歸還、借閱信息查看等功能。圖書管理主要包括圖書的增加、刪除、修改、查看、統(tǒng)計(jì)等功能。用戶管理主要包括用戶注冊(cè)、登錄、修改密碼、修改個(gè)人信息、設(shè)置用戶類型等功能。

具體要求:

1、定義圖書管理系統(tǒng)中的Book書目類(還可以定義User用戶類、Log圖書借還日志類等)。

2、合理應(yīng)用類的繼承性進(jìn)行館藏資源的繼承性定義,可分為書、碟片、電子資源等(或?qū)⑾到y(tǒng)用戶分為讀者、圖書管理員、系統(tǒng)管理員)。

3、根據(jù)不同類型用戶,登錄系統(tǒng)顯示不同的用戶功能菜單,實(shí)現(xiàn)不同的操作處理,如學(xué)生與教師所借閱書的數(shù)量和天數(shù)均不相同(或考慮圖書館中多種館藏資源支持的用戶操作有所區(qū)別)。

4、增加異常處理,在借閱圖書時(shí),已到所能借閱圖書數(shù)量的最大數(shù)量給予提示;歸還圖書時(shí),圖書已超期需要繳納罰款。

5、通過重載運(yùn)算符“<<”和“>>”方便圖書信息、讀者信息錄入等操作,并實(shí)現(xiàn)將館藏圖書信息、借閱記錄等保存到磁盤,形成圖書借還日志文件。

6、擴(kuò)展實(shí)驗(yàn):可嘗試使用MFC可視化界面提高用戶操作方便性和友好性。

程序源代碼

#include<iostream>
#include<cstring>
#include<ctime>
#include<fstream>//文件輸入輸出
#include<iomanip>//控制輸入輸出格式
#pragma warning(disable:4996)//消除strcpy不安全的錯(cuò)誤提示
#define kouling2 "654321"
using namespace std;
class tt{//系統(tǒng)當(dāng)前時(shí)間
public:
    int year;
    int month;
    int day;
    int hours;
    int minutes;
    int seconds;
    tt() {}
};
tt system_time()//獲取當(dāng)前時(shí)間
{
    tt pp;
    time_t nowtime;
    struct tm* p;
    time(&nowtime);
    p = localtime(&nowtime);
    pp.year = p->tm_year + 1900;
    pp.month = p->tm_mon + 1;
    pp.day = p->tm_mday;
    pp.hours = p->tm_hour;
    pp.minutes = p->tm_min;
    pp.seconds = p->tm_sec;
    return pp;
}
class Log;
class Book {//書目類
protected:
    char leixing[50];//書的類型,分為紙質(zhì)圖書,碟片,電子書
    int no;//編號(hào)
    char name[50];//書名
    char author[50];//作者
    char press[50];//出版社
    char price[50];//價(jià)格
    int state;//圖書是否在架,1為在架,0為借出
public:
    Book(){}
    friend Log;
    void set_name(char a[])//設(shè)置書名
    {
        strcpy(name, a);
    }
    void set_author(char a[])//設(shè)置作者
    {
        strcpy(author, a);
    }
    void set_press(char a[])//設(shè)置出版社
    {
        strcpy(press, a);
    }
    void set_price(char a[])//設(shè)置價(jià)格
    {
        strcpy(price, a);
    }
    void set_no(int a)//設(shè)置編號(hào)
    {
        no = a;
    }
    void set_state(int a)//設(shè)置圖書狀態(tài)
    {
        state = a;
    }
    char *get_name()//獲取書名
    {
        return name;
    }
    char *get_author()//獲取作者
    {
        return author;
    }
    char* get_press()//獲取出版社
    {
        return press;
    }
    char* get_price()//獲取價(jià)格
    {
        return price;
    }
    int get_no()//獲取編號(hào)
    {
        return no;
    }
    int get_state()//獲取圖書狀態(tài)
    {
        return state;
    }
    int chongfu_no(int no1)//判斷編號(hào)是否重復(fù),返回1為重復(fù),0為不重復(fù)
    {
        char leixing[100][50];//圖書類型
        int x[100];//圖書編號(hào)
        char c[100][50];//圖書書名
        char d[100][50];//圖書作者
        char e[100][50];//圖書出版社
        char f[100][20];//價(jià)格
        int yy[100];//狀態(tài)
        int i;
        fstream in;
        in.open("Book.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷是否到文件末尾
            {
                break;
            }
            in >> leixing[i] >> x[i] >> c[i] >> d[i] >> e[i] >> f[i] >> yy[i];//讀入圖書信息
            if (no1 == x[i])//編號(hào)已存在
            {
                cout << "增加圖書失敗,該編號(hào)已存在!" << endl;
                return 1;
            }
        }
        in.close();
        return 0;
    }
};
class User {//用戶類
protected:
    char name[20];//用戶名
    char password[20];//密碼
public:
    User(){}
    friend Log;
    void set_name(char a[])//設(shè)置用戶名
    {
        strcpy(name, a);
    }
    void set_password(char a[])//設(shè)置密碼
    {
        strcpy(password, a);
    }
    int chongfu_name(char a[])//檢查用戶名是否已存在,返回1為已存在
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][50];//已注冊(cè)的用戶類型
        char e[100][50];//已注冊(cè)的用戶名
        char f[100][50];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷是否到文件末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        for (i = 0;i<num; i++)
        {
            if (strcmp(a, e[i]) == 0)//用戶名已存在
                return 1;
        }
        return 0;
    }
    void change_information(char a[],int n)//修改用戶名,n為1是改用戶名,2是改密碼
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][20];//已注冊(cè)的用戶類型
        char e[100][20];//已注冊(cè)的用戶名
        char f[100][20];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)//獲取已注冊(cè)的用戶信息
        {
            if (in.eof())//判斷是否到文件末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];   
            if (strcmp(e[i], name) == 0)//找到要修改的用戶
            {
                if (n == 1)
                {
                    memset(name, '\0', sizeof(name));//清空數(shù)組
                    strcpy(name, a);
                    memset(e[i], '\0', sizeof(e[i]));//清空數(shù)組
                    strcpy(e[i], a);
                }
                if (n == 2)
                {
                    memset(password, '\0', sizeof(password));//清空數(shù)組
                    strcpy(password, a);
                    memset(f[i], '\0', sizeof(f[i]));//清空數(shù)組
                    strcpy(f[i], a);
                }
            }
            num++;
        }
        in.close();
        fstream out;
        out.open("User.text", ios::out|ios::trunc);
        for (i = 0;i<num; i++)//將修改后的用戶信息寫入文件
        {
            if(strcmp(d[i],"讀者"))//讀者
                out << setiosflags(ios::left) << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i] << endl;
            else//圖書管理員或系統(tǒng)管理員
                out << setiosflags(ios::left) << setw(14) << d[i] << setw(20) << e[i] << setw(20) << f[i] << endl;
        }
        out.close();
        cout << "修改成功!" << endl;
    }
    int denglu(const char p[])//用戶登錄,返回1為登陸成功,0為登陸失敗
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][20];//已注冊(cè)的用戶類型
        char e[100][20];//已注冊(cè)的用戶名
        char f[100][20];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)//獲取已注冊(cè)的用戶信息
        {
            if (in.eof())//判斷文件是否到末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        int flag = 0;//0為登錄失敗,1為登錄成功
        char a[20];//登錄用戶名
        char b[20];//登錄密碼
        cout << "請(qǐng)輸入用戶名:" << endl;
        cin >> a;
        cout << "請(qǐng)輸入密碼:" << endl;
        cin >> b;
        for (i = 0; i < num; i++)
        {
            if (strcmp(p,d[i])==0&&strcmp(a, e[i]) == 0 && strcmp(b, f[i]) == 0)//登錄成功
            {
                flag = 1;
                break;
            }
        }
        if (flag == 1)//登錄成功
        {
            cout << "您好!尊敬的"<<p << e[i] << endl;
            strcpy(name, a);
            strcpy(password, b);
            return 1;
        }
        if(flag==0)//登錄失敗
        {
            cout << "登錄失敗,用戶名或密碼錯(cuò)誤" << endl;
            return 0;
        }
    }
};
class Reader : public User {//讀者類
public:
    Reader():User()
    {
 
    }
    void zhuce()//注冊(cè)讀者
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][50];//已注冊(cè)的用戶類型
        char e[100][50];//已注冊(cè)的用戶名
        char f[100][50];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷是否到文件末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        char a[20];//所要注冊(cè)的用戶名
        cout << "請(qǐng)輸入用戶名:" << endl;
        int flag = 1;//0為用戶名已注冊(cè),1為未注冊(cè)
        for (;;)//輸入用戶名
        {
            char aa[20];//暫時(shí)存儲(chǔ)所要注冊(cè)的用戶名
            cin >> aa;
            for (i = 0; i < num; i++)//判斷用戶名是否已注冊(cè)
            {
                if (strcmp(e[i], aa) == 0)//用戶名已被注冊(cè)
                {
                    cout << "該用戶名已存在,請(qǐng)重新輸入:" << endl;
                    flag = 0;
                    break;
                }
                else
                {
                    flag = 1;
                }
            }
            if (flag == 1)//用戶名未被注冊(cè)
            {
                strcpy(a, aa);
                break;
            }
        }
        for (;;)
        {
            char b[20];//密碼
            char c[20];//第二次輸入的密碼
            cout << "請(qǐng)?jiān)O(shè)置密碼:" << endl;
            cin >> b;
            cout << "請(qǐng)?jiān)俅屋斎朊艽a:" << endl;
            cin >> c;
            if (strcmp(b, c) == 0)//兩次密碼輸入一致
            {
                cout << "注冊(cè)成功!" << endl;
                set_name(a);
                set_password(b);
                fstream out;
                out.open("User.text", ios::app);
                out <<setiosflags(ios::left)<<setw(18)<< "讀者" <<setw(20)<< a <<setw(20)<< b << endl;//將用戶信息寫入文件
                out.close();
                break;
            }
            else
            {
                cout << "兩次密碼不一致,請(qǐng)重新輸入" << endl;
            }
        }
    }
 
};
class Librarian :public User {//圖書管理員類
public:
    void zhuce()//注冊(cè)圖書管理員
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][10];//已注冊(cè)的用戶類型
        char e[100][20];//已注冊(cè)的用戶名
        char f[100][20];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷文件是否到末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        char a[20];//所要注冊(cè)的用戶名
        cout << "請(qǐng)輸入用戶名:" << endl;
        int flag = 1;//0為用戶名已注冊(cè),1為未注冊(cè)
        for (;;)//輸入用戶名
        {
            char aa[20];//暫時(shí)存儲(chǔ)所要注冊(cè)的用戶名
            cin >> aa;
            for (i = 0; i < num; i++)//判斷用戶名是否已注冊(cè)
            {
                if (strcmp(e[i], aa) == 0)
                {
                    cout << "該用戶名已存在,請(qǐng)重新輸入:" << endl;
                    flag = 0;
                    break;
                }
                else
                {
                    flag = 1;
                }
            }
            if (flag == 1)
            {
                strcpy(a, aa);
                break;
            }
        }
        for (;;)
        {
            char b[20];//密碼
            char c[20];//第二次輸入的密碼
            cout << "請(qǐng)?jiān)O(shè)置密碼:" << endl;
            cin >> b;
            cout << "請(qǐng)?jiān)俅屋斎朊艽a:" << endl;
            cin >> c;
            if (strcmp(b, c) == 0)
            {
                cout << "注冊(cè)成功!" << endl;
                set_name(a);
                set_password(b);
                fstream out;
                out.open("User.text", ios::app);
                out << setiosflags(ios::left) << setw(14) << "圖書管理員" << setw(20) << a << setw(20) << b << endl;
                out.close();
                break;
            }
            else
            {
                cout << "兩次密碼不一致,請(qǐng)重新輸入" << endl;
            }
        }
    }
    void add_book(int no1, char name1[], char author1[], char press1[], char price1[],int y)//增加圖書
    {
        fstream out;
        out.open("Book.text", ios::app);
        if (y == 1)//紙質(zhì)圖書
            out << "紙質(zhì)圖書  ";
        if (y == 2)//碟片
            out << "碟片  ";
        if (y == 3)//電子書
            out << "電子書  ";
        out << setiosflags(ios::left) << setw(15) << no1 << setw(20) << name1 << setw(20) << author1 << setw(20) << press1 << setw(20) << price1 <<setw(5)<<1 <<endl;//最后一個(gè)左對(duì)齊能否去掉
        out.close();
        cout << "增加圖書成功!" << endl;
    }
    void delete_book(int n)//刪除圖書信息
    {
        int i;
        int num = 0;
        char leixing[100][50];//圖書類型
        int x[100];//圖書編號(hào)
        char c[100][50];//圖書書名
        char d[100][50];//圖書作者
        char e[100][50];//圖書出版社
        char f[100][20];//價(jià)格
        int y[100];//狀態(tài)
        int flag=0;//1為存在該書,0為不存在
        fstream in;
        in.open("Book.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷文件是否到末尾
            {
                num--;//
                break;
            }
            in >> leixing[i] >> x[i] >> c[i] >> d[i] >> e[i] >> f[i] >> y[i];
            num++;//
        }
        in.close();
        fstream out;
        out.open("Book.text", ios::out);
        for (i = 0; i < num; i++)//將刪除圖書后的的圖書信息寫入文件
        {
            if (x[i] != n)
                out << setiosflags(ios::left) << setw(20) << leixing[i] << setw(15) << x[i] << setw(20) << c[i] << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i] << setw(5) << y[i] << endl;//最后一個(gè)左對(duì)齊能否去掉
            else
                flag = 1;
        }
        out.close();
        if(flag==1)
        cout << "刪除成功!" << endl;
        if (flag == 0)
            cout << "刪除失敗,未查找到該書!" << endl;
    }
    void change_book(int n)//修改圖書信息
    {
        int i;
        int num = 0;
        char leixing[100][50];//圖書類型
        int x[100];//圖書編號(hào)
        char c[100][50];//圖書書名
        char d[100][50];//圖書作者
        char e[100][50];//圖書出版社
        char f[100][20];//價(jià)格
        int y[100];//狀態(tài)
        fstream in;
        in.open("Book.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())
            {
                num--;//
                break;
            }
            in >> leixing[i] >> x[i] >> c[i] >> d[i] >> e[i] >> f[i] >> y[i];
            num++;//
        }
        in.close();
        for (i = 0; i < num; i++)
        {
            if (n == x[i])//找到要修改的圖書
            {
                memset(leixing[i], '\0', sizeof(leixing[i]));
                x[i] = 0;
                memset(c[i], '\0', sizeof(c[i]));
                memset(d[i], '\0', sizeof(d[i]));
                memset(e[i], '\0', sizeof(e[i]));
                memset(f[i], '\0', sizeof(f[i]));
                y[i] = 0;
                cout << "請(qǐng)輸入修改后的圖書類型:" << endl;
                cin >> leixing[i];
                cout << "請(qǐng)輸入修改后的圖書編號(hào):" << endl;
                cin >> x[i];
                cout << "請(qǐng)輸入修改后的圖書書名:" << endl;
                cin >> c[i];
                cout << "請(qǐng)輸入修改后的圖書作者:" << endl;
                cin >> d[i];
                cout << "請(qǐng)輸入修改后的圖書出版社:" << endl;
                cin >> e[i];
                cout << "請(qǐng)輸入修改后的圖書價(jià)格:" << endl;
                cin >> f[i];
                cout << "請(qǐng)輸入修改后的圖書狀態(tài):(1為在架,0為已借出)" << endl;
                cin >> y[i];
                cout << "修改成功!" << endl;
                break;
            }
        }
        if (i == num)//未查找到圖書
            cout << "抱歉,未查到此書!" << endl;
        fstream out;
        out.open("Book.text", ios::out);
        for (i = 0; i < num; i++)//將修改后的圖書信息寫入文件
        {
            out << setiosflags(ios::left) << setw(20) << leixing[i] << setw(15) << x[i] << setw(20) << c[i] << setw(20) << d[i];
            out<< setw(20) << e[i]<< setw(20) << f[i] << setw(5) << y[i] << endl;
        }
        out.close();
    }
    void see_all()//查看所有用戶的借閱信息
    {
        int i;
        int num = 0;
        char a[100][20];//圖書類型
        char b[100][20];//編號(hào)
        char c[100][20];//書名
        char d[100][20];//作者
        char e[100][20];//出版社
        char f[100][20];//價(jià)格
        char people[100][20];//借書人
        tt p;//借書時(shí)間
        fstream out2;
        out2.open("Log.text", ios::in);
        for (i = 0;; i++)
        {
            if (out2.eof())//判斷是否到文件末尾
            {
                num--;
                break;
            }
            out2 >> a[i] >> b[i] >> c[i] >> d[i] >> e[i] >> f[i];
            out2 >> people[i];
            out2 >> p.year >> p.month >> p.day >> p.hours >> p.minutes >> p.seconds;
            num++;
        }
        out2.close();
        cout << "以下為所有用戶借閱信息:" << endl;
        for (i = 0; i < num; i++)
        {
            cout << a[i] << "  " << b[i] << "  " << c[i] << "  " << d[i] << "  " << e[i] << "  " << f[i] << "  " <<"借閱人:"<<people[i]<<"  " << p.year << "年" << p.month << "月" << p.day << "日" << p.hours << ":" << p.minutes << endl;
        }
    }
};
class System_Admin:public User{//系統(tǒng)管理員類
public:
    void zhuce()//注冊(cè)系統(tǒng)管理員
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][10];//已注冊(cè)的用戶類型
        char e[100][20];//已注冊(cè)的用戶名
        char f[100][20];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        char a[20];//所要注冊(cè)的用戶名
        cout << "請(qǐng)輸入用戶名:" << endl;
        int flag = 1;//0為用戶名已注冊(cè),1為未注冊(cè)
        for (;;)//輸入用戶名
        {
            char aa[20];//暫時(shí)存儲(chǔ)所要注冊(cè)的用戶名
            cin >> aa;
            for (i = 0; i < num; i++)//判斷用戶名是否已注冊(cè)
            {
                if (strcmp(e[i], aa) == 0)
                {
                    cout << "該用戶名已存在,請(qǐng)重新輸入:" << endl;
                    flag = 0;
                    break;
                }
                else
                {
                    flag = 1;
                }
            }
            if (flag == 1)
            {
                strcpy(a, aa);
                break;
            }
        }
        for (;;)
        {
            char b[20];//密碼
            char c[20];//第二次輸入的密碼
            cout << "請(qǐng)?jiān)O(shè)置密碼:" << endl;
            cin >> b;
            cout << "請(qǐng)?jiān)俅屋斎朊艽a:" << endl;
            cin >> c;
            if (strcmp(b, c) == 0)
            {
                cout << "注冊(cè)成功!" << endl;
                set_name(a);
                set_password(b);
                fstream out;
                out.open("User.text", ios::app);
                out << setiosflags(ios::left) << setw(14) << "系統(tǒng)管理員" << setw(20) << a << setw(20) << b << endl;
                out.close();
                break;
            }
            else
            {
                cout << "兩次密碼不一致,請(qǐng)重新輸入" << endl;
            }
        }
    }
    void add_User(char name[],char password[],int y)//增加用戶
    {
        if (chongfu_name(name) == 1)//用戶名已注冊(cè)
            cout << "增加用戶失敗,該用戶名已存在!" << endl;
        if (chongfu_name(name) == 0)//用戶名未注冊(cè)
        {
            fstream out;
            out.open("User.text", ios::app);
            if (y == 1)
                out << setiosflags(ios::left) << setw(18) << "讀者" << setw(20) << name << setw(20) << password << endl;
            if (y == 2)
                out << setiosflags(ios::left) << setw(14) << "圖書管理員" << setw(20) << name << setw(20) << password << endl;
            out.close();
            cout << "增加成功!" << endl;
        }
    }
    void delete_user(char name[])//刪除用戶
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][50];//已注冊(cè)的用戶類型
        char e[100][50];//已注冊(cè)的用戶名
        char f[100][50];//已注冊(cè)的密碼
        int del;//要?jiǎng)h除的用戶的序號(hào)
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷是否到文件末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        for (i = 0;i<num; i++)
        {
            if (strcmp(name, e[i]) == 0)//找到該用戶
            {
                del = i;//記錄i
                break;
            }
        }
        if (i == num)//未查找到該用戶名
        {
            cout << "未查找到該用戶!" << endl;
            return;
        }
        fstream out;
        out.open("User.text", ios::out);
        for (i = 0;i<num; i++)//將刪除后的全部用戶信息寫入文件
        {
            if(i!=del)
            out << setiosflags(ios::left) << setw(20) << d[i]<< setw(20) << e[i] << setw(20) << f[i] << endl;
        }
        out.close();
        cout << "刪除成功!" << endl;
    }
    void change_user(char name[],int y)//修改用戶信息,y=1為用戶類型,y=2為用戶名,y=3為用戶密碼
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][50];//已注冊(cè)的用戶類型
        char e[100][50];//已注冊(cè)的用戶名
        char f[100][50];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())//判斷文件是否到末尾
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        if (y == 1)//修改用戶類型
        {
            for (i = 0;i<num; i++)
            {
                if (strcmp(name, e[i]) == 0)//找到該用戶
                {
                    if (strcmp(d[i], "讀者") == 0)//該用戶為讀者
                    {
                        memset(d[i], '\0', sizeof(d[i]));//清空用戶類型數(shù)組
                        strcpy(d[i], "圖書管理員");
                        break;
                    }
                    else//該用戶為圖書管理員
                    {
                        memset(d[i], '\0', sizeof(d[i]));//清空用戶類型數(shù)組
                        strcpy(d[i], "讀者");
                        break;
                    }
                }
            }
            if (i == num)
            {
                cout << "未查找到該用戶!" << endl;
                return;
            }
        }
        if (y == 2)//修改用戶名
        {
            char name2[50];//修改后的用戶名
            for (;;)
            {
                char name1[50];//暫時(shí)存儲(chǔ)修改后的用戶名
                cout << "請(qǐng)輸入修改后的用戶名:" << endl;
                cin >> name1;
                if (chongfu_name(name1) == 1)//用戶名已存在
                    cout << "該用戶名已存在,請(qǐng)重新輸入" << endl;
                else
                {
                    strcpy(name2, name1);
                    break;
                }
            }
            for (i = 0;; i++)
            {
                if (strcmp(name, e[i]) == 0)//找到要修改的用戶
                {
                    memset(e[i], '\0', sizeof(e[i]));//清空用戶名
                    strcpy(e[i], name2);
                    break;
                }
            }
        }
        if (y == 3)//修改密碼
        {
            char password2[50];
            cout << "請(qǐng)輸入修改后的密碼:" << endl;
            cin >> password2;
            for (i = 0;; i++)
            {
                if (strcmp(name, e[i]) == 0)
                {
                    memset(f[i], '\0', sizeof(f[i]));
                    strcpy(f[i], password2);
                    break;
                }
            }
        }
        fstream out;
        out.open("User.text", ios::out);
        for (i = 0;i<num; i++)
        {
            out << setiosflags(ios::left) << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i] << endl;
        }
        out.close();
        cout << "修改成功!" << endl;
    }
    void see_user()//查看所有用戶信息
    {
        int i;
        int num = 0;//已注冊(cè)的用戶量
        char d[100][50];//已注冊(cè)的用戶類型
        char e[100][50];//已注冊(cè)的用戶名
        char f[100][50];//已注冊(cè)的密碼
        fstream in;
        in.open("User.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())
            {
                num--;
                break;
            }
            in >> d[i];
            in >> e[i];
            in >> f[i];
            num++;
        }
        in.close();
        cout << "——————————用戶信息——————————" << endl;
        for (i = 0; i < num; i++)
        {
            cout <<"用戶類型:"<<d[i]<<"  用戶名:" << e[i]<<"  用戶密碼:" << f[i] << endl;
        }
    }
};
class Log {//借還日志類
private:
    int lend_date;//借書日期
    int return_date;//還書日期
public:
    Log(){}
    void see(User yonghu)//查看本人借閱信息
    {
        int i;
        int num=0;
        char a[100][20];//圖書類型
        char b[100][20];//編號(hào)
        char c[100][20];//書名
        char d[100][20];//作者
        char e[100][20];//出版社
        char f[100][20];//價(jià)格
        char people[100][20];//借書人
        tt p;//借書時(shí)間
        fstream in;
        in.open("Log.text", ios::in);
        for (i = 0;; i++)
        {
            if (in.eof())
            {
                num--;
                    break;
            }
            in >> a[i] >> b[i] >> c[i] >> d[i] >> e[i] >> f[i];
            in >> people[i];
            in >> p.year >> p.month >> p.day >> p.hours >> p.minutes >> p.seconds;
            num++;
        }
        in.close();
        int flag=0;//0為沒有借書,1為有借書
        cout << "以下為您的借閱信息:" << endl;
        for (i = 0; i < num; i++)
        {
            if (strcmp(people[i],yonghu.name) == 0)//檢索到借閱人
            {
                cout << a[i] << "  " << b[i] << "  " << c[i] << "  " << d[i] << "  " << e[i] << "  " << f[i] << "  " << p.year << "年" << p.month << "月" << p.day << "日" << p.hours << ":" << p.minutes << endl;
                flag = 1;
            }
        }
        if (flag==0)
            cout << "  無" << endl;
    }
    void lend_book(User yonghu)//借閱圖書
    {
        int i;
        char a[50];//書名
        char b[50];//作者
        int num = 0;//書的數(shù)目
        int x[100];//在架的圖書編號(hào)
        char leixing[100][50];//圖書類型
        char c[100][50];//在架的圖書書名
        char d[100][50];//在架的圖書作者
        char e[100][50];//在架的圖書出版社
        char f[100][20];//價(jià)格
        int y[100];//狀態(tài)
        cout << "請(qǐng)輸入您要借閱的圖書書名:" << endl;
        cin >> a;
        cout << "請(qǐng)輸入您要借閱的圖書作者:" << endl;
        cin >> b;
        fstream in;
        in.open("Book.text", ios::in);
        for (i = 0;; i++)//找要借閱的書
        {
            if (in.eof())
            {
                num--;
                break;
            }
            in >> leixing[i] >> x[i] >> c[i] >> d[i] >> e[i] >> f[i] >> y[i];
            num++;
        }
        in.close();
        cout << "查詢到以下圖書:" << endl;
        int flag = 0;//0為未查到書,1為查到書
        for (i = 0; i < num; i++)
        {
            if (strcmp(a, c[i]) == 0 && strcmp(b, d[i]) == 0)
            {
                cout << "   " << leixing[i] << "  編號(hào):" << x[i] << "  " << c[i] << "  " << d[i] << "  " << e[i] << "  " << f[i] << "  ";
                if (y[i] == 1)
                    cout << "在架可借" << endl;
                if (y[i] == 0)
                    cout << "已借出" << endl;
                flag = 1;
            }
        }
        if (flag == 0)//未檢索到書
        {
            cout << "   無" << endl;
            cout << "未查詢到此書!" << endl;
        }
        if (flag == 1)//檢索到書
        {
            int flag2=1;//0借閱失敗,1為借閱成功
            int bianhao;
            cout << "請(qǐng)輸入您要借閱的圖書編號(hào):" << endl;
            cin >> bianhao;
            for (i = 0; i < num; i++)
            {
                if (bianhao == x[i]&&y[i]==1)//找到書且書可借
                {
                    y[i]=0;
                    break;
                }
                if (bianhao == x[i] && y[i] == 0)//找到書且書已借出
                {
                    cout << "無法借閱,該書已被借出!" << endl;
                    flag2 = 0;
                    break;
                }
            }
            if (i == num)//未檢索到圖書
            {
                flag2 = 0;
                cout << "未查詢到該圖書!" << endl;
            }
            if(flag2==1)//借閱成功
            {
                fstream out;
                out.open("Book.text", ios::out);
                for (i = 0; i < num; i++)
                    out << setiosflags(ios::left) << setw(15) << leixing[i] << setw(15) << x[i] << setw(20) << c[i] << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i] << setw(5) << y[i] << endl;
                out.close();
                tt p;
                p = system_time();//p存儲(chǔ)了當(dāng)前系統(tǒng)時(shí)間
                fstream out2;
                out2.open("Log.text", ios::app);
                for (i = 0; i < num; i++)
                {
                    if (bianhao == x[i])
                    {
                        out2 << setiosflags(ios::left) << setw(15) << leixing[i] << setw(15) << x[i] << setw(20) << c[i] << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i];
                        out2 << yonghu.name << "  ";
                        out2 << p.year << " " << p.month << " " << p.day << " " << p.hours << " " << p.minutes << " " << p.seconds << endl;
                        break;
                    }
                }
                out2.close();
                cout << "借閱成功!" << endl;
            }
        }
    }
    void return_book(int n,User yonghu)//n:1為讀者,2為圖書管理員,3為系統(tǒng)管理員
    {
        int i;
        int num = 0;//圖書數(shù)量
        int x[100];//圖書編號(hào)
        char leixing[100][50];//圖書類型
        char c[100][50];//圖書書名
        char d[100][50];//圖書作者
        char e[100][50];//圖書出版社
        char f[100][20];//價(jià)格
        int y[100];//狀態(tài)
        fstream in;
        in.open("Book.text", ios::in);
        for (i = 0;; i++)//找要還的書
        {
            if (in.eof())
            {
                num--;//
                break;
            }
            in >> leixing[i] >> x[i] >> c[i] >> d[i] >> e[i] >> f[i] >> y[i];
            num++;//
        }
        in.close();
        see(yonghu);//輸出該用戶借閱圖書信息
        int bianhao;
        cout << "請(qǐng)輸入您要返還圖書的編號(hào):" << endl;
        cin >> bianhao;
        for (i = 0; i < num; i++)//改變圖書狀態(tài)
        {
            if (bianhao == x[i])//找到圖書
            {
                y[i] = 1;//改變圖書狀態(tài)為在架可借
                break;
            }
        }
        if (i == num)//未查詢到圖書
        {
            cout << "未查詢到該圖書!" << endl;
        }
        else//查詢到圖書
        {
            fstream out;
            out.open("Book.text", ios::out);
            for (i = 0; i < num; i++)//更新book文件
            {
                out << setiosflags(ios::left) << setw(15) << leixing[i] << setw(15) << x[i] << setw(20) << c[i];
                out << setw(20) << d[i] << setw(20) << e[i] << setw(20) << f[i] << setw(5) << y[i] << endl;
            }
            out.close();
 
            //更改Log.text
            int x2[100];//已借閱的的圖書編號(hào)
            char leixing2[100][50];//已借閱圖書的圖書類型
            char c2[100][50];//已借閱圖書的圖書書名
            char d2[100][50];//已借閱圖書的圖書作者
            char e2[100][50];//已借閱圖書的圖書出版社
            char f2[100][50];//已借閱圖書的價(jià)格
            char person[50];//借書者用戶名
            tt time1[100];//借書時(shí)間
            tt time2 = system_time();//還書時(shí)間
            int log_num = 0;
            fstream in2;
            in2.open("Log.text", ios::in);
            for (i = 0;; i++)
            {
                if (in2.eof())
                {
                    log_num--;
                    break;
                }
                in2 >> leixing2[i] >> x2[i] >> c2[i] >> d2[i] >> e2[i] >> f2[i] >> person;
                in2>> time1[i].year >> time1[i].month >> time1[i].day >> time1[i].hours >> time1[i].minutes >> time1[i].seconds;
                log_num++;//
            }
            in2.close();
            int del;//還的書的序號(hào)
            for (i = 0; i < log_num; i++)
            {
                if (bianhao == x2[i])
                {
                    del = i;
                    break;
                }
            }
            fstream out2;
            out2.open("Log.text", ios::out);
            for (i = 0; i < log_num; i++)//向文件輸出新的Log
            {
                if (i == del)
                    continue;
                out2 << setiosflags(ios::left) << setw(15) << leixing2[i] << setw(15) << x2[i];
                out2<< setw(20) << c2[i] << setw(20) << d2[i] << setw(20) << e2[i] << setw(20) << f2[i];
                out2 << yonghu.name << "  ";
                out2 << time1[i].year << " " << time1[i].month << " " << time1[i].day << " ";
                out2<< time1[i].hours << " " << time1[i].minutes << " " << time1[i].seconds << endl;
            }
            out2.close();
            //判斷是否超出還書時(shí)間
            int deadline;
            if (n == 1)//讀者
                deadline = 14;//讀者借書期限為14天
            if (n == 2 || n == 3)//圖書管理員或系統(tǒng)管理員
                deadline = 21;//管理員借書期限為21天
            if (time2.year - time1[del].year > 0 || time2.month - time1[del].month > 0 || time2.day - time1[del].day > deadline)
            {
                cout << "您已超出圖書歸還日期,請(qǐng)到辦公室繳納罰款" << endl;
            }
            else
                cout << "還書成功!" << endl;
        }
    }
};
int main()
{
    char kouling1[50] = "123456";
    cout << "——————圖書管理系統(tǒng)——————" << endl;
    int i,j;
    Book shu[100];//圖書
    Reader duzhe[100];//讀者
    Librarian tushu[100];//圖書管理員
    System_Admin xitong[100];//系統(tǒng)管理員
    Log rizhi[100];//借還書日志
    int flag;//0為沒有用戶登錄,1為已有用戶登錄
    for (i = 0;; i++)
    {
        if(i!=0)
            cout << "————主界面————" << endl;
        cout << "1.注冊(cè)" << endl;
        cout << "2.登錄" << endl;
        cout << "3.退出" << endl;
        int n;//1為注冊(cè),2為登錄,3為退出系統(tǒng)
        cin >> n;
        if (n == 1)//注冊(cè)
        {
            cout << "請(qǐng)選擇您要注冊(cè)的用戶類型" << endl;
            cout << "1.讀者" << endl;
            cout << "2.圖書管理員" << endl;
            cout << "3.系統(tǒng)管理員" << endl;
            cout << "4.返回上一層菜單" << endl;
            int m;//1為注冊(cè)讀者,2為注冊(cè)圖書管理員,3為注冊(cè)系統(tǒng)管理員
            cin >> m;
            if (m == 1)
            {
                duzhe[i].zhuce();//注冊(cè)讀者
            }
            if (m == 2)
            {
                for (;;)
                {
                    char kl[20];//圖書管理員口令
                    cout << "請(qǐng)輸入圖書管理員口令:" << endl;
                    cin >> kl;//接收口令
                    if (strcmp(kl,kouling1) == 0)
                    {
                        tushu[i].zhuce();//注冊(cè)圖書管理員
                        break;
                    }
                    else
                    {
                        cout << "口令錯(cuò)誤,請(qǐng)輸入正確口令!" << endl;
                    }
                }
            }
            if (m == 3)
            {
                for (;;)
                {
                    char k2[20];//系統(tǒng)管理員口令
                    cout << "請(qǐng)輸入系統(tǒng)管理員口令:" << endl;
                    cin >> k2;//接收口令
                    if (strcmp(k2, kouling2) == 0)
                    {
                        xitong[i].zhuce();//注冊(cè)系統(tǒng)管理員
                        break;
                    }
                    else
                    {
                        cout << "口令錯(cuò)誤,請(qǐng)輸入正確口令!" << endl;
                    }
                }
            }
            if (m == 4)
            {
                continue;
            }
        }
        if (n == 2)//登錄界面
        {
            cout << "請(qǐng)選擇您要登錄的用戶類型" << endl;
            cout << "1.讀者" << endl;
            cout << "2.圖書管理員" << endl;
            cout << "3.系統(tǒng)管理員" << endl;
            cout << "4.返回上一層菜單" << endl;
            int m;
            cin >> m;
            if (m == 1)
            {
                flag=duzhe[i].denglu("讀者");
            }
            if (m == 2)
            {
                flag=tushu[i].denglu("圖書管理員");
            }
            if (m == 3)
            {
                flag=xitong[i].denglu("系統(tǒng)管理員");
            }
            if (m == 4)
                continue;
            if (flag == 1)//登錄成功
            {
                if (m == 1)//讀者登錄
                {
                    for (;;)
                    {
                        int x;
                        cout << "————讀者界面————" << endl;
                        cout << "1.修改用戶名" << endl;
                        cout << "2.修改密碼" << endl;
                        cout << "3.借閱圖書" << endl;
                        cout << "4.還書" << endl;
                        cout << "5.本人借閱信息查看" << endl;
                        cout << "6.退出賬號(hào)" << endl;
                        cin >> x;
                        if (x == 1)
                        {
                            char after_name[20];//改后的用戶名
                            cout << "請(qǐng)輸入新的用戶名:" << endl;
                            cin >> after_name;
                            duzhe[i].change_information(after_name,1);
                        }
                        if (x == 2)
                        {
                            char after_password[20];//改后的密碼
                            cout << "請(qǐng)輸入新的密碼" << endl;
                            cin >> after_password;
                            duzhe[i].change_information(after_password,2);
                        }
                        if (x == 3)
                        {
                            rizhi[i].lend_book(duzhe[i]);
                        }
                        if (x == 4)
                        {
                            rizhi[i].return_book(1,duzhe[i]);
                        }
                        if (x == 5)
                            rizhi[i].see(duzhe[i]);
                        if (x == 6)
                            break;
                    }
                }
                if (m == 2)//登錄的為圖書管理員
                {
                    for (;;)
                    {
                        int x;
                        cout << "————圖書管理員界面————" << endl;
                        cout << "1.修改用戶名" << endl;
                        cout << "2.修改密碼" << endl;
                        cout << "3.借閱圖書" << endl;
                        cout << "4.還書" << endl;
                        cout << "5.本人借閱信息查看" << endl;
                        cout << "6.增加圖書" << endl;
                        cout << "7.修改圖書信息" << endl;
                        cout << "8.刪除圖書" << endl;
                        cout << "9.查看用戶借閱信息" << endl;
                        cout << "10.退出賬號(hào)" << endl;
                        cin >> x;
                        if (x == 1)
                        {
                            char after_name[20];//改后的用戶名
                            cout << "請(qǐng)輸入新的用戶名:" << endl;
                            cin >> after_name;
                            tushu[i].change_information(after_name, 1);
                        }
                        if (x == 2)
                        {
                            char after_password[20];//改后的密碼
                            cout << "請(qǐng)輸入新的密碼" << endl;
                            cin >> after_password;
                            tushu[i].change_information(after_password, 2);
                        }
                        if (x == 3)
                        {
                            rizhi[i].lend_book(tushu[i]);
                        }
                        if (x == 4)
                        {
                            rizhi[i].return_book(2, tushu[i]);
                        }
                        if (x == 5)
                            rizhi[i].see(tushu[i]);
                        if (x == 6)
                        {
                            int y;//1為紙質(zhì)圖書,2為碟片,3為電子資源
                            int no1;//編號(hào)
                            char name1[20];//書名
                            char author1[20];//作者
                            char press1[20];//出版社
                            char price1[10];//價(jià)格
                            cout << "請(qǐng)輸入您要增加的圖書類型:" << endl;
                            cout << "1.紙質(zhì)圖書" << endl;
                            cout << "2.碟片" << endl;
                            cout << "3.電子資源" << endl;
                            cin >> y;
                            cout << "請(qǐng)輸入圖書編號(hào):" << endl;
                            cin >> no1;
                            if (shu[i].chongfu_no(no1) == 1)
                                continue;
                            cout << "請(qǐng)輸入書名:" << endl;
                            cin >> name1;
                            cout << "請(qǐng)輸入作者:" << endl;
                            cin >> author1;
                            cout << "請(qǐng)輸入出版社:" << endl;
                            cin >> press1;
                            cout << "請(qǐng)輸入圖書價(jià)格" << endl;
                            cin >> price1;
                            if (y == 1)
                                tushu[i].add_book(no1, name1, author1, press1, price1, 1);
                            if (y == 2)
                                tushu[i].add_book(no1, name1, author1, press1, price1, 2);
                            if (y == 3)
                                tushu[i].add_book(no1, name1, author1, press1, price1, 3);
                        }
                        if (x == 7)
                        {
                            int y;
                            cout << "請(qǐng)輸入您要修改圖書的編號(hào):" << endl;
                            cin >> y;
                            tushu[i].change_book(y);
                        }
                        if (x == 8)
                        {
                            int y;
                            cout << "請(qǐng)輸入您要?jiǎng)h除圖書的編號(hào):" << endl;
                            cin >> y;
                            tushu[i].delete_book(y);
                        }
                        if (x == 9)
                        {
                            tushu[i].see_all();
                        }
                        if (x == 10)
                            break;
                    }
                }
                if (m == 3)//登錄的為系統(tǒng)管理員
                {
                    for (;;)
                    {
                        int x;
                        cout << "————系統(tǒng)管理員界面————" << endl;
                        cout << "1.修改用戶名" << endl;
                        cout << "2.修改密碼" << endl;
                        cout << "3.借閱圖書" << endl;
                        cout << "4.還書" << endl;
                        cout << "5.本人借閱信息查看" << endl;
                        cout << "6.修改圖書管理員口令" << endl;
                        cout << "7.增加用戶" << endl;
                        cout << "8.刪除用戶" << endl;
                        cout << "9.修改用戶信息" << endl;
                        cout << "10.查看用戶信息" << endl;
                        cout << "11.退出賬號(hào)" << endl;
                        cin >> x;
                        if (x == 1)
                        {
                            char after_name[20];//改后的用戶名
                            cout << "請(qǐng)輸入新的用戶名:" << endl;
                            cin >> after_name;
                            xitong[i].change_information(after_name, 1);
                        }
                        if (x == 2)
                        {
                            char after_password[20];//改后的密碼
                            cout << "請(qǐng)輸入新的密碼" << endl;
                            cin >> after_password;
                            xitong[i].change_information(after_password, 2);
                        }
                        if (x == 3)
                        {
                            rizhi[i].lend_book(xitong[i]);
                        }
                        if (x == 4)
                        {
                            rizhi[i].return_book(3,xitong[i]);
                        }
                        if (x == 5)
                        {
                            rizhi[i].see(xitong[i]);
                        }
                        if (x == 6)
                        {
                            char kouling3[50];
                            cout << "請(qǐng)輸入修改后的圖書管理員口令:" << endl;
                            cin >> kouling3;
                            memset(kouling1, '\0', sizeof(kouling1));
                            strcmp(kouling1, kouling3);
                        }
                        if (x == 7)
                        {
                            int y;//1為讀者,2為圖書管理員
                            char name[50];
                            char password[50];
                            cout << "請(qǐng)輸入您要增加的用戶類型:" << endl;
                            cout << "1.讀者" << endl;
                            cout << "2.圖書管理員" << endl;
                            cin >> y;
                            cout << "請(qǐng)輸入用戶名:" << endl;
                            cin >> name;
                            cout << "請(qǐng)輸入密碼:" << endl;
                            cin >> password;
                            xitong[i].add_User(name,password,y);
                        }
                        if (x == 8)
                        {
                            char name[50];
                            cout << "請(qǐng)輸入您要?jiǎng)h除用戶的用戶名:" << endl;
                            cin >> name;
                            xitong[i].delete_user(name);
                        }
                        if (x == 9)
                        {
                            char name[50];
                            cout << "請(qǐng)輸入您要修改用戶的用戶名:" << endl;
                            cin >> name;
                            int y;
                            cout << "請(qǐng)輸入您要修改用戶的哪個(gè)信息:" << endl;
                            cout << "1.用戶類型" << endl;
                            cout << "2.用戶名" << endl;
                            cout << "3.用戶密碼" << endl;
                            cin >> y;
                            xitong[i].change_user(name,y);
                        }
                        if (x == 10)
                        {
                            xitong[i].see_user();
                        }
                        if (x == 11)
                        {
                            break;
                        }
                    }
                }
            }
        }
        if (n == 3)
            return 0;
    }
    return 0;
}

實(shí)驗(yàn)結(jié)果展示

C++圖書管理系統(tǒng)程序的示例代碼

C++圖書管理系統(tǒng)程序的示例代碼

注冊(cè)成功后用戶信息會(huì)寫入文件中,這樣關(guān)閉程序后用戶信息不會(huì)丟失

用戶信息

C++圖書管理系統(tǒng)程序的示例代碼

C++圖書管理系統(tǒng)程序的示例代碼

三個(gè)text文件分別保存書籍信息(Book)、借閱信息(Log)、用戶信息(User)

書籍信息

C++圖書管理系統(tǒng)程序的示例代碼

借閱信息

C++圖書管理系統(tǒng)程序的示例代碼

C++圖書管理系統(tǒng)程序的示例代碼

C++圖書管理系統(tǒng)程序的示例代碼

C++圖書管理系統(tǒng)程序的示例代碼

以上是“C++圖書管理系統(tǒng)程序的示例代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI