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

下載本文檔

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

文檔簡介

校驗:_____________日期:_____________

校驗:_____________日期:_____________

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

溫馨提示

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

最新文檔

評論

0/150

提交評論