c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))

上傳人:494895****12427 文檔編號(hào):61316218 上傳時(shí)間:2022-03-11 格式:DOC 頁(yè)數(shù):42 大?。?76KB
收藏 版權(quán)申訴 舉報(bào) 下載
c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))_第1頁(yè)
第1頁(yè) / 共42頁(yè)
c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))_第2頁(yè)
第2頁(yè) / 共42頁(yè)
c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))_第3頁(yè)
第3頁(yè) / 共42頁(yè)

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))》由會(huì)員分享,可在線閱讀,更多相關(guān)《c--圖書信息管理系統(tǒng)(附源碼)(共42頁(yè))(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 學(xué)號(hào): 計(jì)算機(jī)實(shí)習(xí)報(bào)告 系 別:管理系 專 業(yè):信息管理與信息系統(tǒng)專業(yè) 班 級(jí):1043班 學(xué)生姓名:李 優(yōu) 指導(dǎo)教師:徐 日 日 期:2012-09-03~2012-09-14 專心---專注---專業(yè) 1需求分析 1.1 選題任務(wù) 圖書借閱管理系統(tǒng) (1) 編程工具 C++ (2) 要求 選題學(xué)生應(yīng)具有端正的學(xué)習(xí)態(tài)度、正常的交流能力,應(yīng)有積極主動(dòng)、克服困難的學(xué)習(xí)意識(shí) (3) 本題概述 以學(xué)院圖書館為

2、例,圖書借與管理是一項(xiàng)經(jīng)常性工作,為使圖書借閱管理工作準(zhǔn)確高效,提供圖書借閱記錄的添加、修改、刪除、查詢、瀏覽、匯總等,用圖書借閱關(guān)系軟件,能有效提高工作效率,具有較強(qiáng)的實(shí)際意義。 (4) 功能描述 ① 能度日外部提供的包含圖書借閱信息的文本文件(TXT文件); ② 能在程序中錄入圖書借閱信息(可參考我院圖書館網(wǎng)上圖書借閱信息的各個(gè)項(xiàng)目),并將信息寫入文本文件(TXT文件); ③ 能對(duì)所有圖書借閱信息,按條件(按圖書名、圖書編號(hào)、借閱日期、借閱人、超期與否、超期天數(shù)等)查詢?yōu)g覽,能匯總統(tǒng)計(jì)計(jì)算出符合某條件的圖書借閱記錄的數(shù)量并瀏覽這些借閱信息,能將查詢、瀏覽、匯總的結(jié)果輸出結(jié)果文本文件

3、(TXT文件) (5) 輔助說明 基礎(chǔ)要求:①+② 擴(kuò)展要求:①+②+③ 1.2 輸入數(shù)據(jù)和輸出數(shù)據(jù)形式: 程序中包含的圖書信息包括: char bnum[20]; //書號(hào) char bname[20]; //書名 char bauthor[10]; //作者 char rname[10]; //借閱人 char bdays[10]; //借出日期 char bchao[10]; //超期天數(shù) 為了方便,我全部設(shè)置成了char型。 而程序中包含兩種輸入

4、方式和兩種輸出方式,對(duì)應(yīng)題目要求,分別是:?jiǎn)蝹€(gè)圖書信息的增刪查改;TXT文檔的導(dǎo)入(圖書數(shù)據(jù)庫(kù).txt);屏幕的打??;TXT文檔的導(dǎo)出(書籍信息.txt)。 1.3 測(cè)試數(shù)據(jù)及測(cè)試目的 字母測(cè)試,錯(cuò)誤數(shù)據(jù)測(cè)試,重復(fù)數(shù)據(jù)測(cè)試 目的:產(chǎn)看本程序的糾錯(cuò)能力和是否人性化。 2程序設(shè)計(jì) 2.1 關(guān)鍵數(shù)據(jù)類型定義 //********書籍結(jié)構(gòu)體,用于存放書籍基本信息******** class Book { private: char bnum[20]; //書號(hào) char bname[20]; //書名 char baut

5、hor[10]; //作者 char rname[10]; //借閱人 char bdays[10]; //借出日期 char bchao[10]; //超期天數(shù) public: Book() //構(gòu)造函數(shù)初始化信息 void set_bnum(char *no) //設(shè)置書號(hào) char *get_bnum() //獲得書號(hào) void set_bname(char *n) //設(shè)置書名 char *get_bname() //獲得書

6、名 void set_bauthor(char *a) //設(shè)置作者 char *get_bauthor() //獲得作者姓名 void set_bdays(char *d) //設(shè)置借出日期 char *get_bdays() //獲得借出日期 void set_bchao(char *c) //設(shè)置超出天數(shù) char *get_bchao() //獲得超出天數(shù) void set_rname(char *rn) //設(shè)置借閱人 char *get_rname() //獲得借閱人姓名

7、 void copy(Book m) //Book結(jié)構(gòu)體copy函數(shù) };//class book //**********書籍管理結(jié)構(gòu)體,實(shí)現(xiàn)管理書籍功能********** class BookManage { private: Book books[100]; //定義Book書籍結(jié)構(gòu)體數(shù)組對(duì)象,最大容量100本 public: int length; BookManage() //構(gòu)造函數(shù),讀取磁盤文件 int add(Book book) //添加圖書資料 int bnu_searc

8、h(char *bnu) //按書號(hào)查找書籍 int bna_search(char *bna) //按書名查找書籍 int bau_search(char *bau) //按作者查找書籍 int rn_search(char *rn) //按借閱人查找書籍 int bd_search(char *bd) //按借出日期查找書籍 int bc_search(char *bc) //按超期天數(shù)查找書籍 void revise(Book book,int i) //修改書籍函數(shù) void deleteBook(int index) //刪除書籍資料函

9、數(shù) void show_bookhead() //顯示輸出列表,表頭。 void show_book(int i)//顯示書籍函數(shù) void saveFileHead() ///保存書籍文件的表頭到txt void saveFile(int i) //帶參的輸出書籍到txt void readFile() //讀取書籍文件 };// class BookManage //**********菜單結(jié)構(gòu)體,實(shí)現(xiàn)界面引導(dǎo)********** class Menu { BookManage bm; //定義書籍管理結(jié)構(gòu)體對(duì)象bm private:

10、 int choice; //菜單序號(hào)選擇 int key; //管理員密碼 public: void header() //首頁(yè)歡迎界面 void log_menu() //主界面登錄菜單 void admin_menu() //管理菜單 void absearch_menu() //查找書籍菜單 void log_admin() //密碼登陸 void rn_search() //按借閱人姓名查找函數(shù) void bnu_search() //按書號(hào)查找函數(shù) void bna_search(

11、) //按書名查找函數(shù) void bau_search() //按作者查找函數(shù) void bd_search() //按借閱日期查找函數(shù) void bc_search() //按超期天數(shù)查找函數(shù) void addBook() //添加新的書籍信息函數(shù) void reviseBook() //修改書籍函數(shù) void delBook() //刪除書籍函數(shù) int main() 2.2 主程序流程圖 開始 判斷是否進(jìn)入并輸入密碼 3:刪除已有圖書資料 4:查找已有圖書資料 5:查看所有圖書資料 6:讀取指

12、定位置 TXT 7: 寫入指定位置TXT 8:返回系統(tǒng)登錄界面 0: 退出圖書管理系統(tǒng) 1:添加新的圖書資料 2:修改已有圖書資料 輸入書號(hào)判斷書號(hào)是否重復(fù) 輸入要修改的書號(hào)判斷存在 輸入要?jiǎng)h除的書號(hào)判斷存在 退出系統(tǒng) 按超期查找 按作者查找 按編號(hào)查找 按日期查找 按書名查找 重新輸入書號(hào) 刪除 書籍 重新輸入書號(hào) 修改數(shù)據(jù) 重新輸入新書號(hào) 添加書籍 2.3 調(diào)用關(guān)系 1.書籍信息的錄入: void set_bnum(char *no) //設(shè)置書號(hào)

13、 {strcpy(bnum,no);} //把字符串no中的字符復(fù)制到字符串bnum中 char *get_bnum() //獲得書號(hào) { return bnum;} //返回值為bnum void set_bname(char *n) //設(shè)置書名 {strcpy(bname,n);} char *get_bname() //獲得書名 {return bname;} void set_bauthor(char *a) //

14、設(shè)置作者 {strcpy(bauthor,a);} char *get_bauthor() //獲得作者姓名 {return bauthor;} void set_bdays(char *d) //設(shè)置借出日期 {strcpy(bdays,d);} char *get_bdays() //獲得借出日期 {return bdays;} void set_bchao(char *c) //設(shè)置超出天數(shù) {strcpy(bchao,c);} cha

15、r *get_bchao() //獲得超出天數(shù) {return bchao;} void set_rname(char *rn) //設(shè)置借閱人 {strcpy(rname,rn);} char *get_rname() //獲得借閱人姓名 {return rname;} 2.書籍信息的添加: int add(Book book) 判斷l(xiāng)ength是否達(dá)到最大值,如果沒有則進(jìn)行添加。 3.書籍信息的查找: 無論是按照書號(hào)、書名、作者、借閱人、借出日期、超期天數(shù)來進(jìn)行查找都是進(jìn)行

16、挨個(gè)比較,如果遇到相同則返回書籍的i值,進(jìn)行返回輸出。 4.書籍信息的修改: 輸入想要修改的書籍編號(hào),按照查找的方法,找到i,然后進(jìn)行覆蓋。完成修改。 5.書籍的屏幕打印輸出: 分兩部分輸出,首先打印一個(gè)頭信息,相當(dāng)于列表的頭;然后利用循環(huán)語句帶參輸出(i為參數(shù),循環(huán))。 6.保存信息到txt文件: 同分為兩部分,類似屏幕打印的方法,先存入表頭,然后帶參循環(huán)存入書籍信息。帶參的意義就是,可以無限調(diào)用該語句,只要知道書的序號(hào)i。 7.從信息中讀取txt文件: struct books { char numb[10]; //書號(hào) char nameb[20

17、]; //書名 char authorb[10]; //作者 char namer[10]; //借閱人 char daysb[10]; //借出日期 char chaob[10]; //超期天數(shù) }; 定義結(jié)構(gòu)體。利用fscanf()語句講讀取的數(shù)據(jù)按順序存入結(jié)構(gòu)體中。然后直接利用書籍添加函數(shù)直接寫入系統(tǒng)。 3調(diào)試分析 3.1主要問題及解決方案: 1.界面顏色設(shè)定: 一直拋棄黑底白字這種默認(rèn)形式,換一種顏色給人特殊的感覺,在網(wǎng)上找到相關(guān)的代碼為system("color **");語句。但是也是沒有

18、頭緒不知道怎么調(diào)試,后來一不小心設(shè)置錯(cuò)誤,系統(tǒng)就彈出了提示界面,我就明白了界面顏色的設(shè)置方法(圖3.1): 圖3.1 2.關(guān)于書籍的cout輸出: 最開始設(shè)計(jì)輸出模塊時(shí)候,僅僅是想到了不帶參的book信息輸出,show_book()函數(shù)中自帶了一個(gè)for語句循環(huán)輸出所有書籍信息,是為顯示全部書籍設(shè)計(jì)的。但是后來發(fā)現(xiàn)如果要單顯示篩選信息就要從新寫一個(gè)帶參show_book(int i),雖然函數(shù)重載允許這樣做,但是卻無意義的增加了代碼長(zhǎng)度。我選擇刪除了不帶參的show_book(),把for語句循環(huán)寫在外面。這樣就增加了show_book(int i)函數(shù)的利用率,精簡(jiǎn)了函數(shù)的和長(zhǎng)度

19、。 3.書籍信息的txt寫入: 綜合了屏幕打印的經(jīng)驗(yàn),鑒于fwrite和cout使用方法和顯示效果類似,我決定將txt的寫入語句也設(shè)置成帶參形式saveFile(int i),原理與show_book(int i)基本一致。完成這些就能實(shí)現(xiàn)。后來發(fā)現(xiàn)文件總是覆蓋,每次寫入都會(huì)將上一次的覆蓋,也就是只有最后一行,后來才想起了ios::app追加模式,才最終算完整實(shí)現(xiàn)。 4.讀取數(shù)據(jù)函數(shù): 這個(gè)函數(shù)是我編輯最久的,因?yàn)槭褂玫牟皇炀殻蚁炔檎伊撕芏噘Y料,并且寫了一些單獨(dú)的小程序去測(cè)試效果,但是感覺都不理想。后來選擇了一個(gè)最笨的方法,利用fseek函數(shù)一格一格的挑開空格和無用信息。但是這樣做

20、最大的缺點(diǎn)就是,我的txt導(dǎo)入文檔鼻息保持固定格式,一格空格都不能多,如果多了就會(huì)導(dǎo)致錯(cuò)位。后來與徐老師交流時(shí),老師也說這種輸入方法不可取,因?yàn)閷?shí)現(xiàn)了功能但是意義不大。規(guī)格太死,不夠人性化。于是我就退后開始,重新選擇語句。最后決定定義結(jié)構(gòu)體,把txt中信息讀取之后直接存入結(jié)構(gòu)體,隨后就把結(jié)構(gòu)體中的數(shù)據(jù)利用set_xxxx函數(shù)存入。 5.關(guān)于字母糾錯(cuò)及錯(cuò)誤輸入的處理: 字母輸入原來都是用fflush(stdin);來清空緩存來防止程序進(jìn)入死循環(huán)。但是我這次編程想到了一個(gè)更加簡(jiǎn)單有效的方法:利用char 來存儲(chǔ)選擇,隨后強(qiáng)轉(zhuǎn)為int型,其實(shí)就是講所有的字符轉(zhuǎn)為了asc2碼,因?yàn)閍cs2碼的唯

21、一性,我就可以用switch直接跳過了字母部分,比如我要判斷i的輸入是否唯1,我就將i-48寫入switch判斷就好了。 4使用說明 4.1 主要功能介紹及操作步驟: 1.主界面: 選擇1登陸,密碼為1043,按任意鍵進(jìn)入系統(tǒng)。 2.系統(tǒng)操作界面: 直接輸入數(shù)字選擇功能。 1: 添加新的圖書資料: 2: 修改已有圖書資料: 3: 刪除已有圖書資料: 4: 查找已有圖書資料: 根據(jù)序號(hào)選擇功能: 按書名查找: 按作者查找: 按借出日期查找: 按超期天數(shù)

22、查找: 5: 查看所有圖書資料: 6: 讀取指定位置TXT: 7: 寫入指定位置TXT: 5測(cè)試結(jié)果 5.1 測(cè)試數(shù)據(jù) 1.A 4 asdfasdf(多字母): 1000 //目的為測(cè)試重復(fù)編號(hào)的問題 2.修改時(shí)候輸入未知編號(hào): 3.查找時(shí) 5.2 測(cè)試目的 1、測(cè)試學(xué)號(hào)重復(fù) 2、測(cè)試字母和特殊字符對(duì)輸入的影響 3、測(cè)試篩選是否符合規(guī)格 5.3 測(cè)試結(jié)果 全部通過 6心得體會(huì) 經(jīng)歷了為期十天的編程實(shí)習(xí),我覺得我變得更加成熟了

23、,我從一開始的迷茫到后來的目標(biāo)堅(jiān)定,這都是一個(gè)改變的過程。因?yàn)槭窃谑罴偾熬瓦x好了題目,而且提前也知道了題目的要求。所以我在暑假就做好的了充分的準(zhǔn)備。其實(shí)最開始想自學(xué)用VC++來編寫一個(gè)可視化的程序。但是實(shí)施起來卻沒有那么容易,因?yàn)槲覍W(xué)習(xí)的VC不系統(tǒng)不全面只是一些皮毛,改改別的還可以,但是要是真正想實(shí)現(xiàn)自己的思想就有點(diǎn)捉襟見肘。后決定還是先用比較熟悉的C++語言來編一個(gè)完整的系統(tǒng)。雖然以前有做過C++的實(shí)驗(yàn)。但是像這種完成的系統(tǒng)確實(shí)沒有經(jīng)歷過。其實(shí)這也是一個(gè)挑戰(zhàn),也是一個(gè)開始,是我們接觸完整系統(tǒng)的開始。 等快開學(xué)時(shí)候我已經(jīng)完成了大部分代碼: 但是有一些問題還是沒有解決,我開學(xué)后就開始全力去解

24、決這些問題。偏偏事與愿違,關(guān)于文件讀取問題始終沒有找到好的解決辦法。最后還是從c++教科書上找到的靈感來解決這些問題。收獲很大。 本次學(xué)習(xí)中我有以下收獲: 1、明確了c與c++的區(qū)別,運(yùn)用了多種c++知識(shí),包括一開始就沒弄太明白的文件輸入輸出,這回事真正弄明白了。 2、復(fù)習(xí)了類和結(jié)構(gòu)體的知識(shí),但是繼承類沒有用到。以后還要多加復(fù)習(xí)。 3、第一次編寫之后,運(yùn)行之后有50多個(gè)錯(cuò)誤,大多數(shù)都是因?yàn)轳R虎造成的。以后還要多加此類的練習(xí)熟能生巧。 4、多多利用網(wǎng)絡(luò)資源,看網(wǎng)上的類似的代碼能夠開闊自己的思路,學(xué)習(xí)別人好的算法。 學(xué)習(xí)有很大幫助。 5、先寫出流程圖這樣是非常好的一種習(xí)慣,可以為后面

25、寫程序打下好的基礎(chǔ)。 6、養(yǎng)成好習(xí)慣,一個(gè)一個(gè)模塊寫,寫好了立即執(zhí)行看是否有錯(cuò)誤,以防都寫完了,錯(cuò)誤卻沒法去改正。 10天的編程已經(jīng)接近尾聲,但是總覺得要完善我的選題仍有許多要做的工作。以后還要加強(qiáng)自己的學(xué)習(xí)。努力學(xué)習(xí)編程。感謝徐老師的指導(dǎo)。 7附錄 #include #include #include #include #include using namespace std; //********書籍結(jié)構(gòu)

26、體,用于存放書籍基本信息******** class Book { private: char bnum[20]; //書號(hào) char bname[20]; //書名 char bauthor[10]; //作者 char rname[10]; //借閱人 char bdays[10]; //借出日期 char bchao[10]; //超期天數(shù) public: Book() //構(gòu)造函數(shù)初始化信息 { strcpy(bnum

27、,""); strcpy(bname,""); strcpy(bauthor,""); strcpy(rname,""); strcpy(bdays,""); strcpy(bchao,""); } void set_bnum(char *no) //設(shè)置書號(hào) {strcpy(bnum,no);} //把字符串no中的字符復(fù)制到字符串bnum中 char *get_bnum() //獲得書號(hào) { return bnum;} //返回

28、值為bnum void set_bname(char *n) //設(shè)置書名 {strcpy(bname,n);} char *get_bname() //獲得書名 {return bname;} void set_bauthor(char *a) //設(shè)置作者 {strcpy(bauthor,a);} char *get_bauthor() //獲得作者姓名 {return bauthor;} void set_bd

29、ays(char *d) //設(shè)置借出日期 {strcpy(bdays,d);} char *get_bdays() //獲得借出日期 {return bdays;} void set_bchao(char *c) //設(shè)置超出天數(shù) {strcpy(bchao,c);} char *get_bchao() //獲得超出天數(shù) {return bchao;} void set_rname(char *rn) //設(shè)置借閱人 {strcp

30、y(rname,rn);} char *get_rname() //獲得借閱人姓名 {return rname;} void copy(Book m) //Book結(jié)構(gòu)體copy函數(shù) { strcpy(bnum,m.get_bnum()); //將獲得書號(hào)函數(shù)里的返回值里的字符復(fù)制到bnum strcpy(bname,m.get_bname()); strcpy(bauthor,m.get_bauthor()); strcpy(rnam

31、e,m.get_rname()); strcpy(bdays,m.get_bdays()); strcpy(bchao,m.get_bchao()); } }; //**********書籍管理結(jié)構(gòu)體,實(shí)現(xiàn)管理書籍功能********** class BookManage { private: Book books[100]; //定義Book書籍結(jié)構(gòu)體數(shù)組對(duì)象,最大容量100本 public: int length; BookManage() //構(gòu)造函數(shù),

32、讀取磁盤文件 { length=0; //從頭讀起,計(jì)數(shù),最大100 } ~BookManage() //析構(gòu)函數(shù),保存磁盤文件 { } int add(Book book) //添加圖書資料///////////// { if(length>=100) { cout<<"對(duì)不起,儲(chǔ)存已滿,您無法繼續(xù)添加!\n"; return -1; } else { books[le

33、ngth].copy(book); //調(diào)用書籍結(jié)構(gòu)體copy函數(shù) length++; return (length-1); } } int bnu_search(char *bnu) //按書號(hào)查找書籍 { for(int i=0;i

34、nt bna_search(char *bna) //按書名查找書籍 { for(int i=0;i

35、t_bauthor(),bau)==0)//判斷 return i; return -1; } int rn_search(char *rn) //按借閱人查找書籍 { for(int i=0;i

36、 { for(int i=0;i

37、 return -1; } void revise(Book book,int i) //修改書籍函數(shù) { books[i].copy(book); } //調(diào)用Book結(jié)構(gòu)體copy函數(shù) void deleteBook(int index) //刪除書籍資料函數(shù) { for(int i=index;i

38、 length--; } void show_bookhead() //顯示輸出列表,表頭。 { cout<<" **********************書****籍****信****息****列****表**********************\n\n"; cout<<"書號(hào)"; cout.width(15); cout<<"書名"; cout.width(15); cout<<"作者"; cout.width(15);

39、 cout<<"借閱人"; cout.width(15); cout<<"借出日期"; cout.width(15); cout<<"超期天數(shù)\n"; } void show_book(int i)//顯示書籍函數(shù) { cout<

40、r(); cout.width(15); cout<

41、e) { cout<<"文件保存失敗!\n"; exit(1); } fwrite<<" **********************書****籍****信****息****列****表**********************\n\n"; fwrite<<"書號(hào)"; fwrite.width(15); fwrite<<"書名"; fwrite.width(15); fwrite<<"作者"; fwrite.width(15); fwrite<<"借閱人"; fwrite.width(15);

42、 fwrite<<"借出日期"; fwrite.width(15); fwrite<<"超期天數(shù)\n"; fwrite.close(); //關(guān)閉磁盤文件 } void saveFile(int i) //帶參的輸出書籍到txt { ofstream fwrite("書籍信息.txt",ios::app); fwrite<

43、.width(15); fwrite<

44、e() //讀取書籍文件 { struct books { char numb[10]; //書號(hào) char nameb[20]; //書名 char authorb[10]; //作者 char namer[10]; //借閱人 char daysb[10]; //借出日期 char chaob[10]; //超期天數(shù) }; Book book; //書籍結(jié)構(gòu)體對(duì)象book books form[100]; FILE *

45、fp; if (NULL==(fp=fopen("圖書數(shù)據(jù)庫(kù).txt","r"))) { printf("file not open!\n"); exit(0); } fseek(fp,40,SEEK_SET); //跳開表頭40字節(jié) for(int i=0;i<5;i++) { fscanf(fp, "%s", &form[i].numb); fscanf(fp, "%s", &form[i].nameb); fscanf(fp, "%s", &form[i].authorb); fscanf

46、(fp, "%s", &form[i].namer); fscanf(fp, "%s", &form[i].daysb); fscanf(fp, "%s", &form[i].chaob); book.set_bnum(form[i].numb); book.set_bname(form[i].nameb); book.set_bauthor(form[i].authorb); book.set_rname(form[i].namer); book.set_bdays(form[i].daysb); book.set_bcha

47、o(form[i].chaob); BookManage::add(book); fflush(stdin); //總是溢出,終于想去了清空緩存,就好了,呵呵 } fclose(fp); } }; //**********菜單結(jié)構(gòu)體,實(shí)現(xiàn)界面引導(dǎo)********** class Menu { BookManage bm; //定義書籍管理結(jié)構(gòu)體對(duì)象bm private: char choice; //菜單序號(hào)選擇 int key; //管理員密碼 p

48、ublic: int check(int m) //檢查語句 { /* int q; do{ while(!(q=scanf("%ld",&m))||getchar()!='\n') { fflush(stdin); printf("輸入錯(cuò)誤,請(qǐng)重新輸入:"); } }while(q==0); (int) m;*/ return m; } void header() //首頁(yè)歡迎界面 { // system("color A9"); cout<<"\t ┎════┰

49、════┒\n"; cout<<"\t ║﹎﹎﹎﹎┃﹎﹎﹎﹎║\n"; cout<<"\t ║﹎﹎﹎﹎┃﹎﹎﹎﹎║\n"; cout<<"\t ║﹎﹎╱╲┃ ﹎﹎﹎ ║\n"; cout<<"\t ║﹎﹎◣╱┃﹎﹎﹎﹎║\n"; cout<<"\t ┖════┸════┚\n"; _sleep(1000); cout<<"\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"; cout<<"\t ※

50、 ※\n"; cout<<"\t ※ BESTI 北 京 電 子 科 技 學(xué) 院 ※\n"; cout<<"\t ※====================================================※\n"; cout<<"\t ※ 圖 書 借 閱 管 理 系 統(tǒng) 1.0 ※\n"; cout<<"\t ※

51、 ※\n"; cout<<"\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"; _sleep(600); } void log_menu() //主界面登錄菜單 { // system("color fd"); header(); cout<<"\n\t\t\t< 請(qǐng) 選 擇 是 否 進(jìn) 入 >\n"; cout<<"\n\t\t\t\t1: 進(jìn) 入 系 統(tǒng)\n\n\t\t\t\t0: 退 出\n\t您的選擇是: "; choice: cin>>choice; ci

52、n.ignore(); //清除以回車結(jié)束的輸入緩沖區(qū)的內(nèi)容,消除上一次輸入對(duì)下一次輸入的影響 int check(choice); //檢查語句 switch(check-48) { case 1: log_admin(); //登錄,需密碼驗(yàn)證 break; case 0: exit(1); //退出系統(tǒng) break; default: cout<<"\n\t您的操作有誤,請(qǐng)重新選擇(0→1): "; fflush(stdin); goto choice;

53、 } } void admin_menu() //管理菜單 { system("cls"); // system("color f9"); cout<<"\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"; cout<<"\t ※ ※\n"; cout<<"\t ※****************系**統(tǒng)**管**理**界**面**************※\n"; cout<<"\t

54、※ ※\n"; cout<<"\t ※ 1: 添加新的圖書資料 2: 修改已有圖書資料 ※\n"; cout<<"\t ※ ※\n"; cout<<"\t ※ 3: 刪除已有圖書資料 4: 查找已有圖書資料 ※\n"; cout<<"\t ※

55、 ※\n"; cout<<"\t ※ 5: 查看所有圖書資料 6: 讀取指定位置TXT ※\n"; cout<<"\t ※ ※\n"; cout<<"\t ※ 7: 寫入指定位置TXT 8:返回系統(tǒng)登錄界面 ※\n"; cout<<"\t ※ ※\n"; cout<<"

56、\t ※ 0: 退出圖書管理系統(tǒng) ※\n"; cout<<"\t ※ ※\n"; cout<<"\t ※ ※\n"; cout<<"\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"; cout<<"\n\t請(qǐng)選擇您需要的服務(wù)序號(hào): "; choice: cin>>ch

57、oice; cin.ignore(); int check(choice); //檢查語句 switch(check-48) { case 1: //添加圖書 addBook(); bm.~BookManage(); break; case 2: //修改圖書 reviseBook(); bm.~BookManage(); break; case 3: //刪除圖書 delBook(); bm.~BookMan

58、age(); break; case 4: //查找圖書 absearch_menu(); break; case 5: //查看全部圖書 { bm.show_bookhead(); for(int j=0;j

59、 { cout<<"請(qǐng)將命名為圖書數(shù)據(jù)庫(kù).txt的文件放置在程序所在目錄下。"<

60、m.show_book(j);} cout<<"\n\t顯示完畢!"; system("pause"); admin_menu(); break; } case 7: { cout<<"講程序保存在當(dāng)前目錄下,名為:書籍信息.txt"<

61、 _sleep(1000); cout<<"生成成功!請(qǐng)前往程序所在目錄查詢。即將返回主菜單!"<

62、sh(stdin); goto choice; } } void absearch_menu() //查找書籍菜單 { system("cls"); // system("color f2"); cout<<"\t\t\t※※※※※※※※※※※※※※※※※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※****書**籍**查**找**界**面****※\n"; cout<<"\

63、t\t\t※ ※\n"; cout<<"\t\t\t※ 1: 按 編號(hào)查找 ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※ 2: 按 書名查找 ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※

64、 3: 按 作者查找 ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※ 4: 按 日期查找 ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※ 5: 按 超期查找 ※\n"; cout<<"\t\t\t※ ※\n";

65、 cout<<"\t\t\t※ 6: 返 回 上 級(jí) ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※ 0: 退 出 系 統(tǒng) ※\n"; cout<<"\t\t\t※ ※\n"; cout<<"\t\t\t※※※※※※※※※※※※※※※※※\n"; char bsc;

66、//book search choice cout<<"\n\t請(qǐng)輸入您需要的服務(wù)序號(hào): "; cin>>bsc; cin.ignore(); int check(bsc); //檢查語句 switch(check-48) { case 1: bnu_search(); break; case 2: bna_search(); break; case 3: bau_search(); break; case 4: bd_search(); break; case 5: bc_search(); break; case 6:

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!