C 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
C 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
C 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
C 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
C 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

校驗(yàn):_____________日期:_____________

校驗(yàn):_____________日期:_____________

C++圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告目錄摘要·····························21.圖書(shū)管理系統(tǒng)概述················3·····3···············42.圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)·············5········5···················5·····5································5········73.課程設(shè)計(jì)總結(jié)和體會(huì)··············19摘要圖書(shū)館管理系統(tǒng)創(chuàng)建基于MFCAPPWizard[exe],利用SQLSERVE2000和MFCODBC進(jìn)行數(shù)據(jù)庫(kù)的連接,在可視化的界面上進(jìn)行用戶名、圖書(shū)及借書(shū)卡的查詢、添加、修改、刪除,對(duì)數(shù)據(jù)庫(kù)表內(nèi)的信息列表進(jìn)行操作。圖書(shū)館管理系統(tǒng)主要完成了用戶登錄功能、新建/刪除用戶功能、用戶管理功能,對(duì)數(shù)據(jù)庫(kù)內(nèi)圖書(shū)、借書(shū)卡和用戶信息進(jìn)行查詢、添加、刪除、修改功能。圖書(shū)館管理系統(tǒng)設(shè)計(jì)是有下列幾步完成的:首先對(duì)整體功能進(jìn)行分析,開(kāi)始是用戶登錄,登陸成功后顯示主界面,其分為圖書(shū)資料、讀者資料、借書(shū)管理、還書(shū)管理和退出五個(gè)菜單;第二步是對(duì)五個(gè)菜單繼續(xù)劃分成具體的類(lèi)進(jìn)行實(shí)現(xiàn);第三步是根據(jù)課程設(shè)計(jì)的要求在數(shù)據(jù)庫(kù)內(nèi)的建立具體的表,并且進(jìn)行連接,及對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)內(nèi)容的操作,與此同時(shí)完成界面的退出操作;第四步是對(duì)圖書(shū)館管理系統(tǒng)進(jìn)行的全面優(yōu)化,修改不足。關(guān)鍵詞:MFC,數(shù)據(jù)庫(kù),圖書(shū),管理1.圖書(shū)管理系統(tǒng)概述圖書(shū)館管理系統(tǒng)的功能為讀者提供借書(shū)、還書(shū)和查詢所需圖書(shū)及圖書(shū)、讀者卡的管理等功能。圖書(shū)館管理系統(tǒng)的功能模塊有:(1)登錄界面只有管理員才能使用全部功能,更好的保護(hù)圖書(shū)館內(nèi)的一些信息不被破壞。(2)讀者資料能實(shí)現(xiàn)對(duì)讀者的顯示、讀者信息增加、讀者查詢、讀者信息修改和讀者信息刪除功能。(3)圖書(shū)資料能實(shí)現(xiàn)對(duì)圖書(shū)顯示、圖書(shū)信息增加、圖書(shū)查詢、圖書(shū)信息修改和圖書(shū)信息刪除功能。(4)借書(shū)管理可與數(shù)據(jù)庫(kù)中的圖書(shū)信息表連接實(shí)現(xiàn)借書(shū)的功能。(5)還書(shū)管理可與數(shù)據(jù)庫(kù)中的圖書(shū)信息表連接實(shí)現(xiàn)還書(shū)的功能(6)退出退出程序,結(jié)束運(yùn)行。通過(guò)SQLserver建立一個(gè)圖書(shū)館管理系統(tǒng)的數(shù)據(jù)庫(kù),在控制面板的管理工具上用手動(dòng)方式添加數(shù)據(jù)源進(jìn)行連接。而與數(shù)據(jù)表的連接采用記錄集的形式一一建立連接,可以進(jìn)行圖書(shū)資料和讀者資料的管理,圖書(shū)資料管理包括圖書(shū)信息增加、圖書(shū)查詢、圖書(shū)信息修改和圖書(shū)信息刪除四項(xiàng),讀者資料管理管理包括讀者信息增加、讀者查詢、讀者信息修改和讀者信息刪除。用ODBC語(yǔ)言將數(shù)據(jù)庫(kù)與C++連接起來(lái),首先是登錄界面,只有管理員才可進(jìn)入。登陸成功后,管理員可在系統(tǒng)界面進(jìn)行讀者資料、圖書(shū)資料、借書(shū)管理、還書(shū)管理等功能,通過(guò)對(duì)話框的跳轉(zhuǎn)實(shí)現(xiàn)借書(shū)、還書(shū)、圖書(shū)新增、查詢等功能。在每個(gè)對(duì)話框都可實(shí)現(xiàn)新增、查詢、刪除、修改等功能順利的對(duì)圖書(shū)館進(jìn)行管理。程序分為多個(gè)小模塊,通過(guò)調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。程序開(kāi)始程序開(kāi)始登錄界面面還書(shū)管理借書(shū)管理讀者資料圖書(shū)資料借書(shū)確定增修刪查讀者顯示系統(tǒng)界面面增修刪查圖書(shū)顯示程序結(jié)束退出2.圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)新建數(shù)據(jù)庫(kù)(SQLserver)新建數(shù)據(jù)庫(kù)名為library,然后在數(shù)據(jù)庫(kù)下建立五個(gè)表,分別為BOOK、BORROW、CLERK、HISTORY、READER。其中,BOOK是存放圖書(shū)信息的,BORROW是存放借書(shū)信息的,CLERK是存放管理員信息的,READER是存放讀者信息的。然后設(shè)計(jì)各個(gè)表中的字段,并定義主鍵,然后輸入數(shù)據(jù)即可。此次課程設(shè)計(jì)用ODBC語(yǔ)言將數(shù)據(jù)庫(kù)與C++連接,在連接之前應(yīng)創(chuàng)建數(shù)據(jù)源。在控制面板上打開(kāi)管理工具,可以找到數(shù)據(jù)源(ODBC),添加數(shù)據(jù)源,可以創(chuàng)建不同類(lèi)型的數(shù)據(jù)庫(kù),此次設(shè)計(jì)用到了SQLServer,便選擇其,打開(kāi)SQLServer中的服務(wù)管理器可找到服務(wù)器的名稱(chēng),將默認(rèn)數(shù)據(jù)庫(kù)改為自己的數(shù)據(jù)庫(kù)。點(diǎn)下一步直至完成。這樣,數(shù)據(jù)源創(chuàng)建成功了。其步驟如下所示eq\o\ac(○,1)雙擊新建的對(duì)話框或建立類(lèi)向?qū)?,如下圖:eq\o\ac(○,2)點(diǎn)擊OK,則如下圖所示:eq\o\ac(○,3)在所示對(duì)話框中輸入Name,然后Baseclass中選擇CRecordset,點(diǎn)擊OK,出現(xiàn)下圖:eq\o\ac(○,4)既連接數(shù)據(jù)源,注意選擇記錄集類(lèi)型為Dynaset。點(diǎn)擊OK,出現(xiàn)下圖:eq\o\ac(○,5)eq\o\ac(○,1)登錄函數(shù)voidCLoginDlg::OnConfirm()//登錄函數(shù){ //TODO:Addyourcontrolnotificationhandlercodehere CClerkDataSetmrsDataSet;/*聲明記錄集*/ CStringmSqlStr;UpdateData(TRUE);//將相應(yīng)控件上的值反應(yīng)到變量上 { AfxMessageBox("請(qǐng)正確輸入用戶名!"); return; }mSqlStr="SELECT*FROMCLERKWHERENAME='";//查詢數(shù)據(jù)庫(kù)中表CLERK中名字是輸入的 mSqlStr=mSqlStr+m_strName; mSqlStr=mSqlStr+"'ANDPASSWORD='"; mSqlStr=mSqlStr+m_strPassword; mSqlStr=mSqlStr+"'"; { AfxMessageBox("CLERK表打開(kāi)失??!"); return; } { //Openallfunctionforuser CDialog::OnOK(); } else { AfxMessageBox("登錄失敗,請(qǐng)重新輸入!"); return; } }登錄界面為登錄成功為eq\o\ac(○,2)圖書(shū)資料中的查詢函數(shù)voidCBookDlg::OnEnquery(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); { DisplayRecord(); SetButtonState(); return; } BOOLmAll=FALSE; { mAll=TRUE; } { if(mAll) { } else { } } DisplayRecord(); SetButtonState();}eq\o\ac(○,3)圖書(shū)資料中的修改函數(shù)voidCBookDlg::OnEdit(){ //TODO:Addyourcontrolnotificationhandlercodehere m_bEdit=TRUE; SetButtonState(); SetTextState(); CWnd*pWnd; pWnd=GetDlgItem(IDC_BOOKNAME); pWnd->SetFocus();}eq\o\ac(○,4)圖書(shū)資料中的刪除函數(shù)voidCBookDlg::OnDelete(){ //TODO:Addyourcontrolnotificationhandlercodehere DisplayRecord(); SetButtonState(); }eq\o\ac(○,5)圖書(shū)資料中的增加函數(shù)voidCBookDlg::OnNew(){ //TODO:Addyourcontrolnotificationhandlercodehere m_strBookID=""; m_strBookName=""; m_strAuthor=""; m_strPress=""; m_strFlag="Y"; UpdateData(FALSE); m_bEdit=TRUE; m_bAdd=TRUE; SetButtonState(); SetTextState(); CWnd*pWnd; pWnd=GetDlgItem(IDC_BOOKID); pWnd->SetFocus();}eq\o\ac(○,6)圖書(shū)資料中的保存函數(shù)voidCBookDlg::OnSave()//保存書(shū)籍{ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); { AfxMessageBox("請(qǐng)輸入相應(yīng)數(shù)據(jù)!"); return; } if(m_bAdd) { } else { } m_bAdd=FALSE; m_bEdit=FALSE; DisplayRecord(); SetButtonState();SetTextState();}圖書(shū)資料界面如下圖所示:讀者資料界面如下圖:讀者資料中的函數(shù)與圖書(shū)資料中的函數(shù)基本一致。eq\o\ac(○,7)借書(shū)函數(shù)voidCBorrowDlg::OnConfirm(){//TODO:Addyourcontrolnotificationhandlercodehere BOOLm_bCanBorrow; BOOLm_bCanLendOut; m_bCanBorrow=FALSE; m_bCanLendOut=FALSE; CStringmSqlStr;UpdateData(TRUE); { AfxMessageBox("數(shù)據(jù)表打開(kāi)錯(cuò)誤!"); return; } { { mSqlStr="SELECT*FROMBORROWWHEREREADER_ID='"+m_strReaderID; mSqlStr=mSqlStr+"'"; { AfxMessageBox("數(shù)據(jù)表打開(kāi)錯(cuò)誤!"); return;} m_bCanBorrow=TRUE; } }if(!m_bCanBorrow) { AfxMessageBox("讀者不能借書(shū)!"); return; }mSqlStr="SELECT*FROMBOOKWHEREBOOK_ID='"+m_strBookID; mSqlStr=mSqlStr+"'"; { AfxMessageBox("數(shù)據(jù)表打開(kāi)錯(cuò)誤!"); return; } { { m_bCanLendOut=TRUE; } else { AfxMessageBox("此書(shū)不外借!"); return; } } else { AfxMessageBox("無(wú)此書(shū)!"); return; }CStringm_strUserID;COleDateTimem_CurrentTime=COleDateTime::GetCurrentTime(); CStringstrTime; mSqlStr="INSERTINTOBORROW(READER_ID,BOOK_ID,BORROW_DATE,B_CLERK_ID)VALUES('"; mSqlStr=mSqlStr+m_strReaderID; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+m_strBookID; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+strTime; mSqlStr=mSqlStr+"','"; mSqlStr=mSqlStr+m_strUserID; mSqlStr=mSqlStr+"')"; CDatabasemDB; { AfxMessageBox("無(wú)法打開(kāi)數(shù)據(jù)庫(kù)!"); return; } try { }catch(CDBExceptione) { AfxMessageBox("執(zhí)行錯(cuò)!"); return; } AfxMessageBox("操作成功!");}voidCBorrowDlg::OnCancel(){ //TODO:Addyourcontrolnotificationhandlercodehere CDialog::OnCancel();}借書(shū)界面eq\o\ac(○,8)還書(shū)函數(shù)voidCReturnDlg::OnConfirm(){ intrs; CWnd*pWnd; CStringm_strtmp;rs=QryBorrow(); if(rs==1) { if(::MessageBox(this->m_hWnd,m_strtmp,"提示",MB_YESNO)==IDYES) { Insert_History(); Delete_Borrow(); SetTxtNull(); } else { return; } } elseif(rs==2) { if(::MessageBox(this->m_hWnd,"確認(rèn)還書(shū)?","提示",MB_YESNO)==IDYES) { Insert_History(); Delete_Borrow(); SetTxtNull(); } else { return; }} elseif(rs==0) { if(m_Book_ID=="") return; ::MessageBox(this->m_hWnd,"該書(shū)號(hào)信息不存在!","警告",MB_OK); } pWnd=GetDlgItem(IDC_BOOK_ID); pWnd->SetFocus();}還書(shū)界面eq\o\ac(○,8)退出函數(shù)voidCLibraryDlg::OnButtonGoodbye(){//TODO:Addyourcontrolnotificationhandlercodehere intnResponse=MessageBox("真

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論