第一篇:用C++編寫的圖書管理系統(tǒng)
C++實(shí)現(xiàn)圖書管理系統(tǒng) 一:功能:
1.需要有個系統(tǒng)管理員和普通讀者;
2.對圖書庫存圖書的創(chuàng)建,添加,刪除,修改,查詢;
3.對讀者借閱信息的創(chuàng)建,添加,刪除,修改,查詢; 4:普通讀者只有查詢上述兩個文件的權(quán)利;
5:管理員可對普通讀者的創(chuàng)建,添加,修改,刪除; 6:管理員擁有上述全部權(quán)利;
7:要與文件流進(jìn)行關(guān)聯(lián),如:創(chuàng)建,添加,讀取,刪除,查詢;
第二篇:C++課程設(shè)計(簡單圖書管理系統(tǒng))
課 程 設(shè) 計
課程名稱
C++課程設(shè)計 題目名稱
圖書管理系統(tǒng)
2016 年月 29 日
目錄
一.設(shè)計內(nèi)容與要求...............................................................................................................2 二.設(shè)計思路:.......................................................................................................................4 三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼...............................................................................................4 四.實(shí)驗(yàn)結(jié)果及分析.............................................................................................................13
五、心得體會.........................................................................................................................16
六、參考文獻(xiàn).........................................................................................................................17
一.設(shè)計內(nèi)容與要求
(1)、設(shè)計一個圖書管理系統(tǒng),能夠?qū)崿F(xiàn)用戶信息管理,圖書信息的 錄入、查詢、刪除等功能。
(2)、實(shí)現(xiàn)用戶管理,系統(tǒng)具有用戶注冊功能。管理員的賬號和密碼由系統(tǒng)指定,登錄后可進(jìn)行修改。一般用戶注冊后才能登錄使用系統(tǒng)。管理員具有錄入、查詢、刪除圖書信息及一般用戶的功能。一般用戶只有圖書查詢功能。
(3)、登錄功能,只有注冊了的用戶才能進(jìn)入系統(tǒng),沒有注冊的則有提示信息出現(xiàn)。
(4)、圖書管理功能,管理員能夠錄入、查詢、刪除圖書信息。(5)、圖書查詢功能,管理員及一般用戶能夠通過圖書的基本信息,如圖書作者、書名、出版社、出版日期等等,進(jìn)行查詢。
提示:上述為基本功能,可參考實(shí)際的系統(tǒng)進(jìn)行擴(kuò)展。
二.設(shè)計思路:
為了實(shí)現(xiàn)用戶信息以及圖書信息的管理,建立一個用戶CUser類與圖書信息CBoodata類,其中CUser類應(yīng)該包含用戶賬號以及密碼,CBookdata類應(yīng)該包含圖書作者,書名,出版社,出版日期。同時應(yīng)該建立兩個dat文件,一個為存儲用戶信息,一個用來儲存圖書信息。程序主要分為4個頁面:(1)登錄頁面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號注冊與用戶登錄。
(2)圖書查詢頁面。由Cdialog類派生出CSearch類。包含讀取所有圖書數(shù)據(jù)響應(yīng)函數(shù),以及根據(jù)作者姓名或者書名來查詢圖書響應(yīng)函數(shù)。
(3)管理員圖書管理頁面。由Cdialog類派生出CBookdata類。包含讀取所有圖書響應(yīng)函數(shù),添加圖書響應(yīng)函數(shù),修改圖書響應(yīng)函數(shù),刪除圖書響應(yīng)函數(shù)。(4)用戶信息管理頁面,由Cdialog類派生出CUserdata類。包含讀取所有用戶信息響應(yīng)函數(shù),刪除用戶響應(yīng)函數(shù)、添加用戶響應(yīng)函數(shù)、修改用戶信息響應(yīng)函數(shù)。
因?yàn)楸救四芰τ邢蓿易约菏歉鶕?jù)老師給的教程以及結(jié)合書本內(nèi)容來完成課程設(shè)計,于是我第一想到的就是應(yīng)數(shù)組來存儲信息,而不是用鏈表,所以,對于文件數(shù)據(jù)的刪除與修改,難免會過于乏力。
三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼
(1)自己建立的類 1.用戶類: class CUser { public: int num;char password[20];};
2.圖書信息類:
class Book
//圖書類 { public:
char author[10];
//設(shè)置作者姓名
char bname[20];
//設(shè)置圖書書名
char pub_name[20];
//設(shè)置出版社名稱
int pub_date;
//設(shè)置出版年月 };
(2)登錄頁面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號注冊與用戶登錄。1.用戶注冊處理響應(yīng)函數(shù):
void CMyprojectDlg::OnButton3()
//用戶注冊 { // TODO: Add your control notification handler code here
////////////////////////////////////////////////////////////////////////////////////// //以下代碼主要還是把這條記錄寫入文件,注意寫入的格式:文件的前四個字節(jié)是保持用戶記錄數(shù),//后面依次保持用戶記錄注意,寫用戶的每個信息的順序要與讀取時的順序一致。
UpdateData(TRUE);CUser user;int n_user=0;
//用戶的個數(shù),管理員默認(rèn)為第一個。自己輸入為賬號:1111,密碼:0000。
int size=0;
fstream file(“user.dat”,ios::in|ios::out);// 建立一個文件類,關(guān)于其用法,請baidu。
file.seekg(ios::beg);
//將文件指針指向文件頭。
file.read((char*)&n_user,sizeof(n_user));
//讀取用戶數(shù)。
n_user+=1;file.seekp(ios::beg);file.write((char*)&n_user,sizeof(n_user));//寫學(xué)生記錄個數(shù)
user.num=m_num;
//之前定義user.password為string,導(dǎo)致密碼匹配時有錯誤。。。
memcpy(user.password,m_password.GetBuffer(m_password.GetLength()),m_password.GetLength());// 把類CString對象的內(nèi)容賦值到字符數(shù)組中
user.password[m_password.GetLength()]='