簡介:高級語言程序設(shè)計(C)課程答辯,題目圖書館管理系統(tǒng)院系班級學號姓名,系統(tǒng)開發(fā)背景某民辦高校在創(chuàng)辦初期,辦學規(guī)模比較小。學校的圖書數(shù)量,以及借閱人數(shù)都比較少,所以,一直以來對圖書管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況的統(tǒng)計和審核等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。近年來由于國家對民辦教育的大力扶持,該民辦高校的辦學規(guī)模迅速擴大,學校的硬件設(shè)施以及在校學生和職工數(shù)都在成倍增長,給學校的圖書館管理也帶來了巨大的壓力,早期的手工圖書管理方式已經(jīng)不能滿足日益增長的圖書借閱需求。使用計算機對圖書信息進行管理,具有手工管理所無法比擬的特點。例如檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。為了適應(yīng)學校迅速發(fā)展的趨勢,解決日益尖銳的圖書館管理矛盾,該校提出了采用計算機管理圖書信息的需求。本系統(tǒng)就是基于這個需求進行開發(fā)的。,系統(tǒng)需求在圖書管理信息系統(tǒng)開發(fā)時應(yīng)該滿足以下具體的系統(tǒng)需求1)滿足圖書借閱管理的基本需求2)滿足圖書書庫管理的基本需求3)滿足圖書借閱人管理的基本需求4)對操作人員的技能要求比較低,操作方便。5)能夠?qū)崿F(xiàn)方便的擴展,滿足圖書館發(fā)展的需要。6)能夠保障圖書館管理數(shù)據(jù)的安全、準確。,系統(tǒng)層次模塊圖某學校圖書管理信息系統(tǒng)可以分為5個子模塊系統(tǒng)登錄、圖書信息管理、讀者信息管理、借書服務(wù)管理、還書服務(wù)管理,如圖所示。,數(shù)據(jù)庫設(shè)計根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,對于本系統(tǒng)的數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)(1)名稱登錄信息表表名標識符CLERK,(2)名稱書籍信息表表名標識符BOOK,(3)名稱讀者信息表表名標識符READER,(4)名稱借書信息表表名標識符BORROW,(5)名稱借還書歷史表表名標識符HISTORY,創(chuàng)建項目創(chuàng)建一個基于對話框的MFCAPPWIZARDEXE項目,項目名為LIBRARY。為了能在對話框中用ODBC編寫數(shù)據(jù)庫,需在STDAFXH中手動添加支持INCLUDE,登錄模塊(1)模塊的功能書籍市圖書館最寶貴的財產(chǎn),它的借進借出都應(yīng)該保證安全。每個管理員用自己的用戶名和密碼登陸,來使用圖書館管理系統(tǒng)。通過某管理員借進和借出的書都有他的標記。這樣就保證了書籍的安全。(2)界面設(shè)計設(shè)計界面如圖所示。,對話框?qū)傩栽O(shè)置為IDD_DIALOG_LOGIN。為IDD_DIALOG_LOGIN添加CLOGINDLG類其中主要控件的屬性、功能及成員變量如圖所示。,(3)添加CCLERKDATASET類與登錄信息表連接,(4)代碼編寫①“取消”按鈕取消輸入,并關(guān)閉登錄對話框②“登錄”按鈕當管理員填完用戶名和密碼后,單擊“登錄”按鈕,先檢查用戶名和密碼是否合法。然后查找數(shù)據(jù)庫中是否有該管理員的信息,若有則登陸成功。具體代碼如下,VOIDCLOGINDLGONCONFIRM{//TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECCLERKDATASETMRSDATASET/聲明記錄集/CSTRINGMSQLSTRUPDATEDATATRUEIFM_STRNAMEISEMPTY/判斷用戶名信息是否為空/{AFXMESSAGEBOX“請輸入用戶名“RETURN}MSQLSTR“SELECTFROMCLERKWHERENAME“,MSQLSTRMSQLSTRM_STRNAMEMSQLSTRMSQLSTR“ANDPASSWORD“MSQLSTRMSQLSTRM_STRPASSWORDMSQLSTRMSQLSTR““IFMRSDATASETOPENAFX_DB_USE_DEFAULT_TYPE,MSQLSTR{AFXMESSAGEBOX“CLERK表打開失敗“RETURN}IFMRSDATASETISEOF{//OPENALLFUNCTIONFORUSERCDIALOGONOKCLIBRARYDLGDLGDLGDOMODAL}ELSE{AFXMESSAGEBOX“登錄失敗“RETURN}},主界面模塊(1)模塊的功能通過主界面可以進入每個模塊,是各個模塊切換和聯(lián)系的橋梁。主界面力求簡單,對每個按鈕的功能給予適當簡介。從主界面中可以退出系統(tǒng)。(2)界面設(shè)計設(shè)計界面如圖所示,其中主要控件的屬性、功能及成員變量如圖所示。,圖書信息模塊(1)模塊的功能圖書信息模塊主要完成圖書信息管理功能,包括瀏覽、查找、添加、刪除和修改。管理員可以根據(jù)使用的需要,依次單擊對應(yīng)按鈕,來實現(xiàn)這些功能。瀏覽功能管理員可以查看全部圖書信息。查找功能因為書籍條碼和書籍是一一對應(yīng)的關(guān)系,所以通過書籍條碼可以查找到任意一本書的信息并顯示出來。添加功能可以向書籍表中添加新的書籍信息,系統(tǒng)會自動檢測新的書籍信息中書籍條碼是否在書籍表中存在,確保每本書具有唯一的書籍條碼。刪除功能刪除界面上當前現(xiàn)實的書籍信息,系統(tǒng)會彈出確認對話框,提示是否確認刪除,得到確認后,便會刪除該書信息。修改功能實現(xiàn)對當前信息的修改,為安全起見,系統(tǒng)默認書籍條目不能修改。,(2)界面設(shè)計設(shè)計的界面如圖所示,對話框?qū)傩栽O(shè)置IDD_DIALOG_BOOK為IDD_DIALOG_BOOK添加CBOOKDLG類其中主要控件的屬性、功能及成員變量如圖所示。(3)添加CCBOOKDATASET類與書籍信息表連接,(3)添加CCBOOKDATASET類與書籍信息表連接(4)代碼編寫①功能函數(shù)把一些常用的功能封裝為成員函數(shù)。,DISPLAYRECORD對話框各控件顯示當先記錄BOOLCBOOKDLGDISPLAYRECORD{IFM_RSDATASETISEOFM_STRBOOKNAME““M_STRPRESS““M_STRAUTHOR““M_STRFLAG““M_STRPRESSDATE““}ELSE{IFM_RSDATASETISBOF{M_RSDATASETMOVENEXT},ELSE{IFM_RSDATASETISEOF{M_RSDATASETMOVEPREV}}M_STRBOOKIDM_RSDATASETM_BOOK_IDM_STRBOOKNAMEM_RSDATASETM_BOOK_NAMEM_STRPRESSM_RSDATASETM_PRESSM_STRAUTHORM_RSDATASETM_AUTHORM_STRFLAGM_RSDATASETM_FLAG_BORROWM_STRPRESSDATEM_RSDATASETM_PRESS_DATE}UPDATEDATAFALSERETURNTRUE},SETBUTTONSTATE根據(jù)不同的情況,調(diào)整按鈕的狀態(tài)。如當?shù)绞子涗浀臅r候,“上一條”按鈕無效。BOOLCBOOKDLGSETBUTTONSTATE{CWNDPWNDIFM_RSDATASETISOPEN{PWNDGETDLGITEMIDC_FIRSTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_NEXTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_PRIORPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_LASTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_NEWPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_EDITPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_ENQUERYPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_DELETEPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_SAVEPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_CANCEL_RECPWNDENABLEWINDOWFALSERETURNTRUE},IFM_BEDIT{PWNDGETDLGITEMIDC_FIRSTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_NEXTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_PRIORPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_LASTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_NEWPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_EDITPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_ENQUERYPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_DELETEPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_SAVEPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_CANCEL_RECPWNDENABLEWINDOWTRUERETURNTRUE},IFM_RSDATASETISBOF{PWNDGETDLGITEMIDC_FIRSTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_PRIORPWNDENABLEWINDOWFALSE}ELSE{PWNDGETDLGITEMIDC_FIRSTPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_PRIORPWNDENABLEWINDOWTRUE}IFM_RSDATASETISEOF{PWNDGETDLGITEMIDC_NEXTPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_LASTPWNDENABLEWINDOWFALSE}ELSE{PWNDGETDLGITEMIDC_NEXTPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_LASTPWNDENABLEWINDOWTRUE},IFM_RSDATASETISBOFPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_DELETEPWNDENABLEWINDOWFALSE}ELSE{PWNDGETDLGITEMIDC_EDITPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_DELETEPWNDENABLEWINDOWTRUE}PWNDGETDLGITEMIDC_NEWPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_ENQUERYPWNDENABLEWINDOWTRUEPWNDGETDLGITEMIDC_SAVEPWNDENABLEWINDOWFALSEPWNDGETDLGITEMIDC_CANCEL_RECPWNDENABLEWINDOWFALSERETURNTRUE},SETBUTTONSTATE根據(jù)不同的情況,調(diào)整按鈕的狀態(tài)。如當?shù)绞子涗浀臅r候,“上一條”按鈕無效。②初始化顯示記錄,設(shè)置按鈕、編輯框狀態(tài)。BOOLCBOOKDLGONINITDIALOG{CDIALOGONINITDIALOG//TODOADDEXTRAINITIALIZATIONHEREM_BADDFALSEM_BEDITFALSEIFM_RSDATASETOPENAFX_DB_USE_DEFAULT_TYPEAFXMESSAGEBOX“數(shù)據(jù)打開失敗“DISPLAYRECORDSETBUTTONSTATESETTEXTSTATERETURNTRUE//RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL//EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSE},查詢不同條件下進行查詢,顯示查詢記錄,設(shè)置按鈕狀態(tài)。,VOIDCBOOKDLGONENQUERY{//TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREUPDATEDATATRUEIFM_STRBOOKIDQISEMPTYM_RSDATASETREQUERYDISPLAYRECORDSETBUTTONSTATERETURN}BOOLMALLFALSEIFM_STRBOOKIDQISEMPTY{M_RSDATASETM_STRFILTER“BOOK_ID“M_STRBOOKIDQM_RSDATASETM_STRFILTERM_RSDATASETM_STRFILTER““MALLTRUE},IFM_STRBOOKNAMEQISEMPTY{IFMALL{M_RSDATASETM_STRFILTERM_RSDATASETM_STRFILTER“ANDBOOK_NAME“M_RSDATASETM_STRFILTERM_RSDATASETM_STRFILTERM_STRBOOKNAMEQM_RSDATASETM_STRFILTERM_RSDATASETM_STRFILTER““}ELSE{M_RSDATASETM_STRFILTER“BOOK_NAME“M_STRBOOKNAMEQM_RSDATASETM_STRFILTERM_RSDATASETM_STRFILTER““}}M_RSDATASETREQUERYDISPLAYRECORDSETBUTTONSTATE},保存適用于增加和修改狀態(tài),判斷信息的合理性,并進行增加和修改操作。,VOIDCBOOKDLGONSAVE{//TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREUPDATEDATATRUEIFM_STRBOOKIDISEMPTY||M_STRBOOKNAMEISEMPTY{AFXMESSAGEBOX“請輸入相應(yīng)數(shù)據(jù)“RETURN}IFM_BADD{M_RSDATASETADDNEW}ELSE{M_RSDATASETEDIT},M_RSDATASETM_AUTHORM_STRAUTHORM_RSDATASETM_BOOK_NAMEM_STRBOOKNAMEM_RSDATASETM_BOOK_IDM_STRBOOKIDM_RSDATASETM_PRESSM_STRPRESSM_RSDATASETM_FLAG_BORROWM_STRFLAGM_RSDATASETM_PRESS_DATEM_STRPRESSDATEM_RSDATASETUPDATEM_RSDATASETREQUERYM_BADDFALSEM_BEDITFALSEDISPLAYRECORDSETBUTTONSTATESETTEXTSTATE},全部圖書資料,借書服務(wù)模塊(1)模塊的功能借書模塊主要完成借書操作。首先檢查讀者是否有權(quán)借書,超期還書的讀者需與管理員協(xié)商后方可獲得權(quán)限再次借書,接著檢查需要借的書籍是否可借,館內(nèi)保留的書籍不可借,一切正常后,登記借書時間、借書管理員ID完成借書。(2)界面設(shè)計設(shè)計界面如圖所示,對話框?qū)傩栽O(shè)置為IDD_DIALOG_BORROW。為IDD_DIALOG_BORROW添加CBORROWDLG類其中主要控件的屬性、功能及成員變量如圖所示。,(3)添加CBORROWDATASET類與登錄信息表連接(4)代碼編寫①“確定”按鈕檢查讀者和書籍是否合理,若任意一項不合理,則給出警告信息,若合理,添加成功。,VOIDCBORROWDLGONCONFIRM{//TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERE//TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREBOOLM_BCANBORROWBOOLM_BCANLENDOUTM_BCANBORROWFALSEM_BCANLENDOUTFALSECSTRINGMSQLSTRUPDATEDATATRUEIFM_RSREADERDATASETOPENAFX_DB_USE_DEFAULT_TYPE{AFXMESSAGEBOX“數(shù)據(jù)表打開錯誤“RETURN}M_RSREADERDATASETM_STRFILTER“READER_ID“M_STRREADERIDM_RSREADERDATASETM_STRFILTERM_RSREADERDATASETM_STRFILTER““M_RSREADERDATASETREQUERY,IFM_RSREADERDATASETISEOF{IFM_RSREADERDATASETM_FLAG_BORROW“Y“{MSQLSTR“SELECTFROMBORROWWHEREREADER_ID“M_STRREADERIDMSQLSTRMSQLSTR““IFM_RSDATASETOPENAFX_DB_USE_DEFAULT_TYPE,MSQLSTR{M_RSREADERDATASETCLOSEAFXMESSAGEBOX“數(shù)據(jù)表打開錯誤“RETURN}//ADDSOMECODETODETERMINETHENUMOFBOOKWHICHTHISREADERBORROWEDM_BCANBORROWTRUEM_RSDATASETCLOSE}}M_RSREADERDATASETCLOSEIFM_BCANBORROW{AFXMESSAGEBOX“讀者不能借書“RETURN},MSQLSTR“SELECTFROMBOOKWHEREBOOK_ID“M_STRBOOKIDMSQLSTRMSQLSTR““IFM_RSBOOKDATASETOPENAFX_DB_USE_DEFAULT_TYPE,MSQLSTR{AFXMESSAGEBOX“數(shù)據(jù)表打開錯誤“RETURN}IFM_RSBOOKDATASETISEOF{IFM_RSBOOKDATASETM_FLAG_BORROW“Y“{M_BCANLENDOUTTRUE}ELSE{AFXMESSAGEBOX“此書不外借“M_RSBOOKDATASETCLOSERETURN}}ELSE{AFXMESSAGEBOX“無此書“M_RSBOOKDATASETCLOSERETURN}M_RSBOOKDATASETCLOSE,CSTRINGM_STRUSERIDM_STRUSERIDTHEAPPM_STRUSERNAMECOLEDATETIMEM_CURRENTTIMECOLEDATETIMEGETCURRENTTIMECSTRINGSTRTIMEINTYM_CURRENTTIMEGETYEARINTMM_CURRENTTIMEGETMONTHINTDM_CURRENTTIMEGETDAYSTRTIMEFORMAT“DDD“,Y,M,DMSQLSTR“INSERTINTOBORROWREADER_ID,BOOK_ID,BORROW_DATE,B_CLERK_IDVALUES“MSQLSTRMSQLSTRM_STRREADERIDMSQLSTRMSQLSTR“,“MSQLSTRMSQLSTRM_STRBOOKIDMSQLSTRMSQLSTR“,“MSQLSTRMSQLSTRSTRTIMEMSQLSTRMSQLSTR“,“MSQLSTRMSQLSTRM_STRUSERIDMSQLSTRMSQLSTR““CDATABASEMDBIFMDBOPEN_T“LIBRARY“{AFXMESSAGEBOX“無法打開數(shù)據(jù)庫“RETURN},TRY{MDBEXECUTESQLMSQLSTR}CATCHCDBEXCEPTIONE{AFXMESSAGEBOX“執(zhí)行錯“RETURN}MDBCLOSEAFXMESSAGEBOX“操作成功“},還書服務(wù)模塊(1)模塊的功能還書模塊主要完成還書工作,首先檢查此次行為是否超期還書,若是,則鎖定讀者然后辦理還書業(yè)務(wù)。被鎖定的讀者需與管理員協(xié)商后,方可解鎖繼續(xù)借書。(2)界面設(shè)計設(shè)計的界面如圖所示,對話框?qū)傩栽O(shè)置IDD_DIALOG_RETURN為IDD_DIALOG_RETURN添加CRETURNDLG類其中主要控件的屬性、功能及成員變量如圖所示。,(3)添加CBORROWSET類與書籍信息表連接(4)代碼編寫①功能函數(shù)把一些常用的功能封裝為成員函數(shù)。QRYBORROW根據(jù)輸入的書籍條目,自動查詢借此書的借閱信息,計算是否超期等。INSERT_HISTORY書的借還還應(yīng)做記錄,以備以后查用SETTXTNULL清空編輯框。SETTXTDISABLE使編輯框處于只讀狀態(tài)DELETE_BORROW當還書成功時,應(yīng)該從借書信息表中刪除該信息②回車事件管理員輸入書籍條目后,按下ENTER鍵,開始分析此書的借閱情況。③按鍵功能還書分析書籍借閱信息,根據(jù)返回結(jié)果進行相應(yīng)處理。,
下載積分: 6 賞幣
上傳時間:2024-01-07
頁數(shù): 39
大?。?0.86(MB)
子文件數(shù):
簡介:C課程設(shè)計,主講邱棟計算機軟件教研室,黃淮學院國際學院,,2,一、課程定位及學情分析,,課程性質(zhì)及地位,1,,課程功能及目標,2,,3,,課程特色,4,,課程開發(fā)與改革,5,學情分析,1、課程性質(zhì)及地位,課程性質(zhì)實踐性課程,是“C程序設(shè)計”課程的繼續(xù)和延伸。,3,學科的地位,2、學情分析,4,,基礎(chǔ)知識以學習過C和C,學習能力自學能力,自制能力不強,學生發(fā)展出國升本就業(yè),教學目標與方法,,,,3、課程功能及目標,課程功能深入學習C編程語言,深入理解面向?qū)ο缶幊碳夹g(shù),初步學習項目開發(fā)流程。教學目標,5,能力目標講解能力帶團能力處理問題,素質(zhì)目標禮貌禮儀語言表達協(xié)調(diào)溝通團隊精神,能力目標自學能力知識綜合運用能力獨立解決問題,知識目標綜合運用C語言掌握WIN程序開發(fā)方法掌握面向?qū)ο缶幊趟枷?素質(zhì)目標團隊精神行業(yè)素養(yǎng),4、課程特色,6,,,以重點帶動全面,5、課程開發(fā)與改革,7,,二、教學內(nèi)容,8,,教學內(nèi)容體系的構(gòu)建,1,,教學內(nèi)容的再加工,2,,3,,教學實施,4,,考評方式的改革,5,課程內(nèi)容及重難點,1、教學內(nèi)容體系構(gòu)建,教學內(nèi)容的組成五個項目,十大知識點構(gòu)建原因課程定位,學情分析,課程特色項目選擇原則適合教學實用性可操作性連貫性趣味性,五個項目,10,計算器,畫圖,網(wǎng)絡(luò)聊天工具,文件管理器,俄羅斯方塊,2、課程內(nèi)容及重難點,3、教學內(nèi)容的再加工,原創(chuàng)視頻,12,網(wǎng)絡(luò)資源HTTP//ICHUANGHUAIEDUCN/U/QIUDONGASPX,4、教學實施,教學模式項目驅(qū)動教學理論融入項目避免直接涉及理論知識重難點通過重復模仿操作來理解鞏固教學方法講解模仿創(chuàng)新,13,課程實例繪圖,14,,,,圖形屬性,,鼠標控制,畫筆畫刷位圖顏色線型線寬,理論理解對象和基本圖形的關(guān)系,理論理解抽象的方法和屬性,,完成項目,理論理解事件和消息,課程實例俄羅斯方塊,基礎(chǔ)知識圖形圖像、動畫基礎(chǔ)、鍵盤控制,15,項目試做基礎(chǔ)知識都會了為什么做不出來,完成項目培養(yǎng)軟件工程的思想,5、改革考評方式進一步推動實踐教學(思考),16,項目實戰(zhàn)虛擬場景跟蹤評價,,完成,項目實戰(zhàn),學生,教師,三、支撐條件,17,,課程教學團隊,1,,實踐條件,2,,3,,教案與課件,4,,網(wǎng)絡(luò)資源,5,教材與參考,課程教學團隊與教材,經(jīng)典教材經(jīng)典參考用書,18,國際學院計算機軟件教研室與計算機應(yīng)用教研室有多人從事過C程序設(shè)計及C課程設(shè)計的教學工作。,課程教學團隊,教材及參考資料,教材,參考用書,教案、課件,19,網(wǎng)絡(luò)資源,20,謝謝大家,不當之處敬請批評指正,
下載積分: 6 賞幣
上傳時間:2024-01-05
頁數(shù): 21
大?。?2.11(MB)
子文件數(shù):