版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 報(bào) 告 課程名稱課程名稱 JAVA 程序設(shè)計(jì)程序設(shè)計(jì) 課題名稱課題名稱 專專 業(yè)業(yè) 信息管理與信息系統(tǒng)信息管理與信息系統(tǒng) 班班 級(jí)級(jí) 信管信管 14 學(xué)學(xué) 號(hào)號(hào) 姓姓 名名 指導(dǎo)教師指導(dǎo)教師 李峰、張益星李峰、張益星 2017 年年 6 月月 19 日日 湖南工程學(xué)院 課 程 設(shè) 計(jì) 任 務(wù) 書(shū) 課程名稱 JAVA 程序設(shè)計(jì) 課 題 專業(yè)班級(jí) 信管 14 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 李峰、張益星 審 批 任務(wù)書(shū)下達(dá)日期 2017 年 5 月 28 日 任務(wù)完成日期 2017 年 6 月 19 日 一一、設(shè)設(shè)計(jì)計(jì)內(nèi)內(nèi)容容與與設(shè)設(shè)計(jì)計(jì)要要求求 1.1.課程設(shè)計(jì)目的課程設(shè)計(jì)目的 全面
2、熟悉、掌握 JAVA 程序設(shè)計(jì)基本知識(shí),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈 活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及 JAVA 程序設(shè)計(jì)的本領(lǐng),熟悉編制和調(diào)試程序的 技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,增強(qiáng) JAVA 程序設(shè)計(jì)概念,熟悉 java 語(yǔ)言編程,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范 編程的思想,為后繼課程的實(shí)驗(yàn)以及課程設(shè)計(jì)打下較扎實(shí)的基礎(chǔ)。 進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力,為 后繼課程的實(shí)驗(yàn)以及課程設(shè)計(jì),特別是自學(xué)、畢業(yè)論文的完成打下扎實(shí)的 基礎(chǔ)。 2.2.課題題目課題題目 理發(fā)師算法 N 皇后問(wèn)題算法 銀行家算法 頁(yè)面置換算法問(wèn)題 磁盤(pán)調(diào)度算法問(wèn)題 3 3設(shè)計(jì)要求設(shè)
3、計(jì)要求 設(shè)計(jì)課題題目:按學(xué)號(hào)順序(每 13 位學(xué)生選擇一題)選擇相 應(yīng)題號(hào)的課題。換題者不記成績(jī)。 根據(jù)自己對(duì)應(yīng)的課題完成以下主要工作:完成系統(tǒng)需求分析: 包括系統(tǒng)設(shè)計(jì)目的與意義;系統(tǒng)功能需求(系統(tǒng)流程圖) ;輸入輸出的 要求。完成系統(tǒng)總體設(shè)計(jì):包括系統(tǒng)功能分析;系統(tǒng)功能模塊劃分 與設(shè)計(jì)(系統(tǒng)功能模塊圖) 。完成系統(tǒng)詳細(xì)設(shè)計(jì):包括需求分析;類 層次圖;界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)。系統(tǒng)調(diào)試:調(diào)試出現(xiàn)的主要 問(wèn)題,編譯語(yǔ)法錯(cuò)誤及修改,重點(diǎn)是運(yùn)行邏輯問(wèn)題修改和調(diào)整。使 用說(shuō)明書(shū)及編程體會(huì):說(shuō)明如何使用你編寫(xiě)的程序,詳細(xì)列出每一步 的操作步驟。關(guān)鍵源程序(帶注釋) 按規(guī)定格式完成課程設(shè)計(jì)報(bào)告,將其打印稿
4、(A4 紙)上交給老師 存檔。 不得抄襲他人程序、課程設(shè)計(jì)報(bào)告,每個(gè)人應(yīng)體現(xiàn)自己的個(gè)性 設(shè)計(jì)。 二、進(jìn)度安排 16 周 星期五 上午 8:00-12:00 下午 14:00-16:00 星期日 上午 8:00-12:00 下午 14:00-16:00 17 周 星期二 上午 8:00-12:00 下午 14:00-16:00 星期三 上午 8:00-12:00 下午 14:00-16:00 課題課題 1 1:理發(fā)師算法:理發(fā)師算法 (一)(一) 、課程設(shè)計(jì)題目:、課程設(shè)計(jì)題目: 理發(fā)師算法 (二)(二) 、目的與要求:、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握 java 語(yǔ)言的基本
5、知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约?java 的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類層次; (3)在系統(tǒng)中定義類,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) (三)(三) 、設(shè)計(jì)方法和基本原理:、設(shè)計(jì)方法和基本原理: 1、問(wèn)題描述(功能要求): 一個(gè)理發(fā)店有一個(gè)入口和一個(gè)出口。
6、理發(fā)店內(nèi)有一個(gè)可站 5 位顧客的 站席區(qū)、4 個(gè)單人沙發(fā)、3 個(gè)理發(fā)師及其專用理發(fā)工具、一個(gè)收銀臺(tái)。新來(lái) 的顧客坐在沙發(fā)上等待;沒(méi)有空沙發(fā)時(shí),可在站席區(qū)等待;站席區(qū)滿時(shí),只 能在入口外等待。理發(fā)師可從事理發(fā)、收銀和休息三種活動(dòng)。 理發(fā)店的活動(dòng)滿足下列條件: 1)休息的理發(fā)師是坐地自己專用的理發(fā)椅上,不會(huì)占用顧客的沙發(fā); 2)處理休息狀態(tài)的理發(fā)師可為在沙發(fā)上等待時(shí)間最長(zhǎng)的顧客理發(fā); 3)理發(fā)時(shí)間長(zhǎng)短由理發(fā)師決定; 4)在站席區(qū)等待時(shí)間最長(zhǎng)的顧客可坐到空閑的理發(fā)上; 5)任何時(shí)刻最多只能有一個(gè)理發(fā)師在收銀。 要求:(1)界面友好(2)能實(shí)現(xiàn)進(jìn)程同步和互斥 2、問(wèn)題的解決方案: 根據(jù)系統(tǒng)功能要求,可
7、以將問(wèn)題解決分為以下步驟: (1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; (3)完成類層次中各個(gè)類的描述(包括屬性和方法) ; (4)完成類中各個(gè)成員函數(shù)的定義; (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; 課題課題 2 2:N N 皇后問(wèn)題皇后問(wèn)題 (一)(一) 、課程設(shè)計(jì)題目:、課程設(shè)計(jì)題目: N 皇后問(wèn)題 (二)(二) 、目的與要求:、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握 java 語(yǔ)言的基本知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。
8、 2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约?java 的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類層次; (3)在系統(tǒng)中定義類,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) (三)(三) 、設(shè)計(jì)方法和基本原理:、設(shè)計(jì)方法和基本原理: 1、問(wèn)題描述(功能要求): N 皇后問(wèn)題是一個(gè)經(jīng)典的問(wèn)題,在一個(gè) N*N 的棋盤(pán)上放置 N 個(gè)皇后,每行 一個(gè)并使其不能互相攻擊(同一行、同一列、同一斜線上的皇后都會(huì)自動(dòng)攻擊) 。 下面是算法
9、的高級(jí)偽碼描述,這里用一個(gè) N*N 的矩陣來(lái)存儲(chǔ)棋盤(pán)(或用 1 維矩陣保存放置位置。 ) 1) 算法開(kāi)始, 清空棋盤(pán),當(dāng)前行設(shè)為第一行,當(dāng)前列設(shè)為第一列 2) 在當(dāng)前行,當(dāng)前列的位置上判斷是否滿足條件(即保證經(jīng)過(guò)這一點(diǎn)的 行,列與斜線上都沒(méi)有兩個(gè)皇后),若不滿足,跳到第 4 步 3) 在當(dāng)前位置上滿足條件的情形:在當(dāng)前位置放一個(gè)皇后,若當(dāng)前行是 最后一行,記錄一個(gè)解;若當(dāng)前行不是最后一行,當(dāng)前行設(shè)為下一行, 當(dāng)前列 設(shè)為當(dāng)前行的第一個(gè)待測(cè)位置; 若當(dāng)前行是最后一行,當(dāng)前列不是最后一列, 當(dāng)前列設(shè)為下一列;若當(dāng)前行是最后一行,當(dāng)前列是最后一列,回溯,即清空 當(dāng)前行及以下各行的棋盤(pán),然后,當(dāng)前行設(shè)
10、為上一行,當(dāng)前列設(shè)為當(dāng)前行的下 一個(gè)待測(cè)位置;以上返回到第 2 步 4) 在當(dāng)前位置上不滿足條件的情形:若當(dāng)前列不是最后一列,當(dāng)前列設(shè) 為下一列,返回到第 2 步; 若當(dāng)前列是最后一列了,回溯,即,若當(dāng)前行已經(jīng) 是第一行了,算法退出,否則,清空當(dāng)前行及以下各行的棋盤(pán),然后,當(dāng)前行 設(shè)為上一行,當(dāng)前列設(shè)為當(dāng)前行的下一個(gè)待測(cè)位置,返回到第 2 步; 2、問(wèn)題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: (1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; (3)完成類層次中各個(gè)類的描述(包括屬性和方法) ; (4)完成類中各個(gè)成員函數(shù)的定義;
11、 (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。 課題課題 3 3:銀行家算法問(wèn)題:銀行家算法問(wèn)題 (一)(一) 、課程設(shè)計(jì)題目:、課程設(shè)計(jì)題目: 銀行家算法問(wèn)題 (二)(二) 、目的與要求:、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握 java 語(yǔ)言的基本知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约?java 的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類層次; (3)在系統(tǒng)中定義類
12、,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) (三)(三) 、設(shè)計(jì)方法和基本原理:、設(shè)計(jì)方法和基本原理: 1、問(wèn)題描述(功能要求): 銀行家算法問(wèn)題能實(shí)現(xiàn) 1)進(jìn)程和資源的種類的設(shè)置 2)進(jìn)程和資源初始 狀態(tài)的生成 3)用戶執(zhí)行需求 4)給出安全序列和不安全結(jié)果 要求: (1)界面友好 (2)能實(shí)現(xiàn)進(jìn)程和資源初始狀態(tài)的生成 2、問(wèn)題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: (1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; (2)
13、根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; (3)完成類層次中各個(gè)類的描述(包括屬性和方法) ; (4)完成類中各個(gè)成員函數(shù)的定義; (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。 課題課題 4 4:頁(yè)面置換算法問(wèn)題:頁(yè)面置換算法問(wèn)題 (一)(一) 、課程設(shè)計(jì)題目:、課程設(shè)計(jì)題目: 頁(yè)面置換算法問(wèn)題 (二)(二) 、目的與要求:、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握 java 語(yǔ)言的基本知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 2、基本要求: (1)要求利
14、用面向?qū)ο蟮姆椒ㄒ约?java 的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類層次; (3)在系統(tǒng)中定義類,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) (三)(三) 、設(shè)計(jì)方法和基本原理:、設(shè)計(jì)方法和基本原理: 1、問(wèn)題描述(功能要求): 頁(yè)面置換算法問(wèn)題能實(shí)現(xiàn) 1)最佳置換算法 2)先進(jìn)先出算法 3)最近最久 未被使用算法 4)clock 置換算法 要求: (1)界面友好,能自由選擇算法 (2)能實(shí)現(xiàn)初始頁(yè)面的設(shè)置 (3)隨機(jī)生
15、成訪問(wèn)頁(yè)面(包括數(shù)量和頁(yè)面號(hào)) 2、問(wèn)題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: (1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; (3)完成類層次中各個(gè)類的描述(包括屬性和方法) ; (4)完成類中各個(gè)成員函數(shù)的定義; (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。 課題課題 5 5:磁盤(pán)調(diào)度算法問(wèn)題:磁盤(pán)調(diào)度算法問(wèn)題 (一)(一) 、課程設(shè)計(jì)題目:、課程設(shè)計(jì)題目: 磁盤(pán)調(diào)度算法問(wèn)題 (二)(二) 、目的與要求:、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握 java 語(yǔ)言的基本
16、知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。 2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约?java 的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過(guò)程中,建立清晰的類層次; (3)在系統(tǒng)中定義類,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū) (三)(三) 、設(shè)計(jì)方法和基本原理:、設(shè)計(jì)方法和基本原理: 1、問(wèn)題描述(功能要求): 磁盤(pán)調(diào)度算法問(wèn)題能實(shí)現(xiàn) 1)先來(lái)
17、先服務(wù)調(diào)度 2)SCAN 算法調(diào)度 3)最短時(shí) 間優(yōu)先調(diào)度 4)循環(huán)掃描算法調(diào)度 5)NstepSCAN 算法調(diào)度。 要求: (1)界面友好,能自由選擇算法 (2)能實(shí)現(xiàn)初始磁道的設(shè)置和磁頭移動(dòng)方向的設(shè)置 (3)隨機(jī)生成訪問(wèn)磁道(包括數(shù)量和磁道號(hào)) 2、問(wèn)題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: (1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; (3)完成類層次中各個(gè)類的描述(包括屬性和方法) ; (4)完成類中各個(gè)成員函數(shù)的定義; (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。 下面是
18、模板,格式相同 內(nèi)容不同 目 錄 1 系統(tǒng)需求分析.1 2 總體設(shè)計(jì).1 2.1 總體設(shè)計(jì)圖.1 2.2 各函數(shù)之間的調(diào)用關(guān)系 .2 2.3 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù) .2 3 詳細(xì)設(shè)計(jì).3 3.1 采用 C+語(yǔ)言定義的相關(guān)數(shù)據(jù)類型.3 3.2 各模塊的類 C 碼算法 .4 3.2.1 CLendOutDlg:OnInitDialog()對(duì)話框初始化函數(shù) .4 3.2.2 BEGIN_MESSAGE_MAP(CLendOutDlg, CDialog) .4 3.2.3 CLendOutDlg:CLendOutDlg(CWnd* pParent)數(shù)據(jù)初始化函數(shù) .4 3.2.4 CLendOutDlg:
19、OnCONFIRM()執(zhí)行確認(rèn)按鈕的函數(shù) .5 3.2.5 CLendOutDlg:OnCancel()執(zhí)行取消按鈕的函數(shù) .5 4 調(diào)試分析及設(shè)計(jì)體會(huì).6 4.1 程序運(yùn)行結(jié)果 .6 4.1.1 程序設(shè)計(jì)前先設(shè)計(jì)各對(duì)話框 .6 4.1.2 對(duì)話框初始化 .7 4.1.3 借書(shū)功能的實(shí)現(xiàn) .8 4.1.4 數(shù)據(jù)保存到數(shù)據(jù)庫(kù)結(jié)果 .9 4.2 程序調(diào)試中的問(wèn)題 .10 5 使用說(shuō)明.11 6 心得體會(huì).12 7 附錄.13 7.1 源代碼 .13 7.2 參考文獻(xiàn): .15 8 評(píng)分表.16 1 1 系統(tǒng)需求分析 利用 C+語(yǔ)言和 access 數(shù)據(jù)庫(kù)的相關(guān)知識(shí)設(shè)計(jì)與開(kāi)發(fā)一個(gè)圖書(shū)管理系統(tǒng)的 借書(shū)
20、模塊,具有讀者編號(hào)、書(shū)籍編號(hào)的輸入功能;可以在數(shù)據(jù)庫(kù)中查詢和刪除所 保存的記錄:并具有退出該系統(tǒng)模塊的功能。 2 總體設(shè)計(jì) 2.1 總體設(shè)計(jì)圖 2.2 各函數(shù)之間的調(diào)用關(guān)系 該模塊完成了圖書(shū)管理系統(tǒng)中借書(shū)的功能,流程圖如圖 2.1 所示: 2 目錄和所需對(duì)話框的設(shè)計(jì) 對(duì)話框中各個(gè)按鈕與程序相連接 在 access 中創(chuàng)建數(shù)據(jù)庫(kù)以保存和查詢數(shù)據(jù) 數(shù)據(jù)初始化 輸入數(shù)據(jù)并完成傳遞給消息處理函數(shù)增加宏項(xiàng) 對(duì)話框初始化 確認(rèn)按鈕函數(shù)取消按鈕函數(shù) 保存數(shù)據(jù)到 access 數(shù)據(jù)庫(kù) 圖書(shū)館管理系統(tǒng) 準(zhǔn) 備 工 作 借 書(shū) 模 塊 函 數(shù) 調(diào) 用 圖 2.1 各函數(shù)的調(diào)用關(guān)系 2.3 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù) 程序利
21、用 C+語(yǔ)言編寫(xiě),數(shù)據(jù)保存到 access 數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)保存 和查詢以及數(shù)據(jù)庫(kù)的更新。 Access 數(shù)據(jù)庫(kù)中包括七個(gè)表分別為 BOOK、BORROW、CLERK、FINE、FINE- HISTORY、HISTORY、READER,各自保存表中菜單下的數(shù)據(jù)。 3 3 詳細(xì)設(shè)計(jì) 3.1 采用 C+語(yǔ)言定義的相關(guān)數(shù)據(jù)類型 (1)CLendOutDlg:CLendOutDlg(CWnd* pParent /*=NULL*/) : CDialog(CLendOutDlg:IDD, pParent) m_strBookID = _T(); m_strReaderID = _T(); (2) void
22、CLendOutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); DDX_Text(pDX, IDC_BOOK_ID, m_strBookID); (3) void CLendOutDlg:OnCONFIRM() CWnd *pWnd; m_rsDataSet.m_BOOK_ID =m_strBookID; d. void CLendOutDlg:OnCancel() CDialog:OnCancel(); (4) OOL CLendOutDlg:OnInitDialog() CDialog:OnInitDi
23、alog(); return TRUE; 4 4.1.4 數(shù)據(jù)保存到數(shù)據(jù)庫(kù)結(jié)果 數(shù)據(jù)保存到數(shù)據(jù)庫(kù)前后的結(jié)果顯示: 圖 4.1 數(shù)據(jù)庫(kù) BORROW 表中的原始數(shù)據(jù) 圖 4.2 結(jié)束后數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中的 BORROW 表 5 表 4.1 數(shù)據(jù)庫(kù)關(guān)鍵元素表 1 表 4.2 數(shù)據(jù)庫(kù)關(guān)鍵元素表 2 4.2 程序調(diào)試中的問(wèn)題 (1)程序設(shè)計(jì)初期沒(méi)有在程序中添加初始化函數(shù) BOOL CLendOutDlg:OnInitDialog(),因此輸入讀者編碼和書(shū)籍編碼后,BORROW 表 中保存該信息,添加了該函數(shù)后就可以了。 (2)程序中原來(lái)有兩個(gè) CLendOutDlg:OnCONFIRM()函數(shù),其中一
24、個(gè)是 空的,但是刪掉后會(huì)出現(xiàn)錯(cuò)誤,在 Dialog 的 IDD_LENDOUT 中找到“建立類 向?qū)А?,刪掉其中與對(duì)話框按鈕名稱不同的一個(gè)即可。 (3) 、CLendOutDlg:OnCONFIRM()函數(shù)中原來(lái)沒(méi)有 UpdateData(FALSE); UpdateData(TRUE);就會(huì)出現(xiàn)錯(cuò)誤,經(jīng)過(guò)老師幫忙找到錯(cuò)誤所在,就加上使得程 序能正常運(yùn)行。 (4)CLendOutDlg:OnCancel()函數(shù)只需一條語(yǔ)句,開(kāi)始的時(shí)候用了很多 其他函數(shù),如:DisplayRecord();SetButtonState();SetTextState();但是會(huì)出現(xiàn)沒(méi)有 定義之類的錯(cuò)誤,是因?yàn)樵?/p>
25、頭文件中根本沒(méi)有這些函數(shù)的定義,所以就會(huì)出現(xiàn) 這樣的錯(cuò)誤。 (5)在消息映射函數(shù)中,本應(yīng)每個(gè)空格和按鈕只對(duì)應(yīng)一組 ON_BN_CLICKED(IDC_XX, XX),而我的程序全部編完以后,而且 IDC_后面 的是 BUTTON。雖然是這樣亂七八糟,但是程序運(yùn)行完全沒(méi)有錯(cuò)誤,也沒(méi)有警 告,于是我就把含有 BUTTON 的全部都刪掉了;再運(yùn)行時(shí),就出現(xiàn)了錯(cuò)誤。錯(cuò) 誤原因及解決方法:原因在于畫(huà)出的“借書(shū)”界面上,讀者條碼和書(shū)籍編碼的 屬性中的標(biāo)題沒(méi)有改。當(dāng)把界面上所有空格和按鈕屬性的姓名改為相對(duì)應(yīng)的姓 名時(shí),ON_BN_CLICKED(IDC_XX, XX)只有一組,而且運(yùn)行無(wú)誤。 (6)剛開(kāi)始做
26、了結(jié)束模塊的框圖時(shí)按“確定” “取消”按扭不會(huì)連接到程 序中,后來(lái)在 ClassWizard 中添加就可以了。然后雙擊按扭就可以出現(xiàn)了。 6 (7)讀者編碼,書(shū)籍編碼要定義成數(shù)字型,否則,輸入字符,特殊符號(hào) 都會(huì)識(shí)別,不符合實(shí)際情況。 (8)剛開(kāi)始沒(méi)有初始化函數(shù) BOOL CLendOutDlg:OnInitDialog(),以至于 輸入讀者編碼和書(shū)籍編碼后,BORROW 表中沒(méi)有該信息,添加了該函數(shù)后就 可以了。 (9)程序中原來(lái)有兩個(gè) confirm 函數(shù),其中一個(gè)是空函數(shù),但是刪掉后又 有錯(cuò)誤,找過(guò)之后從“建立類向?qū)А敝袆h掉一個(gè)就可以了。 (10)confirm 函數(shù)中原來(lái)沒(méi)有 Upda
27、teData(FALSE); UpdateData(TRUE); 就會(huì)出現(xiàn)錯(cuò)誤,經(jīng)過(guò)老師幫忙找到錯(cuò)誤之所在,就加上去了。 (11)cancel 函數(shù)只要一句話 CDialog:OnCancel();就可以了。剛開(kāi)始用 了好多其他函數(shù),如:DisplayRecord();SetButtonState();SetTextState(); 但是會(huì) 出現(xiàn)沒(méi)有定義之類的錯(cuò)誤,是因?yàn)轭^文件中根本就沒(méi)有這些函數(shù),所以就會(huì)出 現(xiàn)這樣的錯(cuò)誤。 5 使用說(shuō)明 (1)運(yùn)行程序到系統(tǒng)界面,點(diǎn)擊菜單欄中的“系統(tǒng)”按鈕,點(diǎn)擊“登錄”, 輸入用戶的姓名和密碼即可登錄該系統(tǒng)。 (2)單擊“日常工作”按鈕中的“借書(shū)”,在相應(yīng)的位置輸入讀者的讀者 編碼和該讀者所借書(shū)籍的書(shū)籍編碼,單擊“確認(rèn)”,即可把所輸入的數(shù)據(jù)保存 到 library 數(shù)據(jù)庫(kù)中的 BORROW 表中。 7 6 心得體會(huì) 開(kāi)始時(shí)候的課程設(shè)計(jì)完全沒(méi)有思路,感覺(jué)很迷茫,不知道從何做起。幸 好在課設(shè)之前李老師給我們做了很詳細(xì)的指點(diǎn),
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題二相互作用第3講共點(diǎn)力的平衡及其應(yīng)用練習(xí)含答案
- 2024北京商業(yè)購(gòu)物中心項(xiàng)目考察學(xué)習(xí)分享報(bào)告
- 九年級(jí)化學(xué)上冊(cè) 5.3 二氧化碳的性質(zhì)和制法教案2 (新版)粵教版
- 2024年四年級(jí)英語(yǔ)下冊(cè) Unit 6 Today Is Her Birthday Lesson 1教案 陜旅版(三起)
- 高中地理 2.1 城市內(nèi)部空間結(jié)構(gòu)教案 新人教版必修2
- 2023一年級(jí)數(shù)學(xué)上冊(cè) 五 20以內(nèi)的進(jìn)位加法 1 9加幾第2課時(shí)教案 西師大版
- 高中化學(xué) 第四章 章末小結(jié)與測(cè)評(píng)教案 新人教版必修4
- 風(fēng)機(jī)房管理規(guī)范
- 租房制式簡(jiǎn)易合同(2篇)
- 西京學(xué)院《融合新聞報(bào)道》2023-2024學(xué)年第一學(xué)期期末試卷
- GB/T 4436-2012鋁及鋁合金管材外形尺寸及允許偏差
- 第10講-群體決策模型
- GB/T 3876-2007鉬及鉬合金板
- 醫(yī)院醫(yī)療欠費(fèi)管理制度
- 北京市第5屆迎春杯小學(xué)數(shù)學(xué)競(jìng)賽決賽試題doc
- 探究影響滑動(dòng)摩擦力大小的因素實(shí)驗(yàn)說(shuō)課課件
- DB11∕994-2021 平戰(zhàn)結(jié)合人民防空工程設(shè)計(jì)規(guī)范
- 信號(hào)與系統(tǒng)課設(shè)報(bào)告
- 近代科學(xué)革命課件
- 《文言賓語(yǔ)前置句式》課件(廣東省省級(jí)優(yōu)課)
- 《霸王別姬》賞析課件
評(píng)論
0/150
提交評(píng)論