物件導向課程設計
題目 c++課程設計
院系 專業
學生姓名
學號指導教師
物件導向課程設計指導書及評分標準
課程設計選題(1學時)
由教師命題,學生自己選擇課題,經教師調整審查後確定。
設計的課題以實用為主,反映新技術的發展情況,以獲得更好的物件導向實踐的訓練。課題規模、大小適當,具有一定複雜度,通過激發學生參加開發實踐的積極性與創造性,達到綜合應用所學知識的目的。
學生可從下列題目中選擇(也可以自己選擇其它題目):
1、人事管理系統
2、學生管理系統
3、學生成績管理系統
4、圖書借閱管理系統
5、超市收款管理系統
6、鐵路售票管理系統
7、長途汽車售票管理系統
8、大劇院售票管理系統
9、運動會成績及名次管理系統
10、倉庫管理系統(小超市)
12、航空售票管理系統
13、汽車銷售管理系統
14、電腦彩票銷售及搖獎模擬系統
15、網上訂票系統
16房屋租賃管理系統
17、酒店客房管理系統
18、工資管理系統
19、考勤管理系統
20、員工培訓管理系統
考核方式:程式演示效果+課程設計報告
評分標準:等級制(優秀、良好、中等、及格、不及格)
1、需求分析(10分)
對系統的功能及效能要求進行分析,寫出需求規格說明書(可行性分析報告、系統的分層dfd圖、加工說明及資料詞典)。(業務邏輯正確,無原則性錯誤,結構圖、流程圖正確,資料字典完善。)
2、軟體總體設計(20分)
確定系統總體設計方案,完成系統的模組結構圖及模組的功能說明。(模組結構圖正確,模組說明詳細、完善、準確。)
3、軟體詳細設計(20分)
對模組內部過程及資料結構進行設計等編寫出該項目的詳細設計報告。(資料結構合適,能滿足系統需求。)
4、編碼(35分)
選擇一種自己熟悉的物件導向程式設計語言,進行程式設計。
5、總結(5分)
本次課程設計的收穫,經驗,啟示等。
6、排版(10分)
封面符合要求,內容排版規範,圖、表規整,語言流暢,無錯別字。(a4紙列印,上邊裝訂)
課題:c++課程設計
(一)、課程設計題目:
c++課程設計
(二)、目的與要求:
1、目的:
(1)要求學生達到熟練掌握c++語言的基本知識和技能;
(2)基本掌握物件導向程式設計的基本思路和方法;
(3)能夠利用所學的基本知識和技能,解決簡單的物件導向程式設計問題。
2、基本要求:
(1)要求利用物件導向的方法以及c++的程式設計思想來完成系統的設計;
(2)要求在設計的過程中,建立清晰的類層次;
(3)在系統中至少要定義四個類,每個類中要有各自的屬性和方法;
(4)在系統的設計中,至少要用到物件導向的一種機制。
3、創新要求:
在基本要求達到後,可進行創新設計,如根據查詢結果進行修改的功能。
4、寫出設計說明書
(三)、設計方法和基本原理:
1、問題描述(功能要求):
考勤資訊記錄了學生的缺課情況,它包括:缺課日期、第幾節課(連續多節課用 begin-end 的形式表示)、課程名稱(課程名稱中不會出現空格)、學生姓名、缺課型別(遲到、早退、請假及曠課)。試設計考勤管理系統,使之能提供以下功能:
1).錄入學生的缺課記錄:從鍵盤輸入資料(提示:為避免重複從鍵盤輸入資料,測試時可將資料儲存在檔案中,利用輸入重定向功能讀入),輸入格式為:
缺課日期第幾節課課程名稱學生姓名缺課型別
每行一條紀錄。
例如:2008-04-29 3-4 c++程式設計實驗張三遲到
2008-04-28 3-4 c++程式設計李四曠課
2).修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然後顯示一下修改後的紀錄。
3).查詢某個學生的缺課情況:查詢結果按照日期公升序排序,同一天內按照所缺課程的時間公升序排序。
4).統計某段時間內(以天為單位),曠課學生姓名及曠課節數,查詢結果先按曠課節數降序排序,曠課節數相同的學生按姓名公升序排序;
5).統計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱公升序排序;
6).系統以選單方式工作。(所謂選單指使用者可以自由選擇所要執行的功能)
2、問題的解決方案:
根據系統功能要求,可以將問題解決分為以下步驟:
(1)應用系統分析,建立該系統的功能模組框圖以及介面的組織和設計;
(2)分析系統中的各個實體及它們之間的關係包括屬性和行為;
(3)根據問題描述,設計系統的類層次;
(4)完成類層次中各個類的描述(包括屬性和方法);
(5)完成類中各個成員函式的定義;
(6)完成系統的應用模組;
(7)功能除錯;
(8)完成系統總結報告以及系統使用說明書
目錄1. 系統需求分析 1
2. 總體設計 1
3. 詳細設計 1
4. 系統除錯 1
5. 結果分析 1
6. 總結 1
附錄:源程式清單
考勤資訊記錄了學生的缺課情況,它包括:缺課日期、第幾節課(連續用begin-end的形式表示)、課程名稱(課程名稱中不會出現空格)、學生姓名、缺課型別(遲到、早退、請假及曠課)。試設計考勤管理系統,使之能提供以下功能:
1).錄入學生的缺課記錄:從鍵盤輸入資料(提示:為避免重複從鍵盤輸入資料,測試時可將資料儲存在檔案中,利用輸入重定向功能讀入),輸入格式為:缺課日期第幾節課課程名稱學生姓名缺課型別
每行一條紀錄。
例如:2009-04-29 2-4 中國近現代文學史李雲龍遲到
2009-04-28 2-4 大學生社交禮儀馬志鵬曠課
2).修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然後顯示一下修改後的紀錄。
3).查詢某個學生的缺課情況:查詢結果按照日期公升序排序,同一天內按照所缺課程的時間公升序排序。
4).統計某段時間內(以天為單位),曠課學生姓名及曠課節數,查詢結果先按曠課節數降序排序,曠課節數相同的學生按姓名公升序排序;
5).統計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱公升序排序;
6).系統以選單方式工作。(所謂選單指使用者可以自由選擇所要執行的功能。學生可以通過以上功能錄入資訊、修改資訊、查詢資訊、整理統計出所要了解的資訊,除了要實現上述的基本功能之外,本系統還應該在細節上下工夫,使使用者使用方便,在使用的過程中保持乙個愉快的心情。
學生考勤管理系統有廣大的使用者群,這其中有老師、有教務處主任、有公司管理人員,也可以供給一般使用者使用。總之該系統可以滿足使用者需求,實現對其管理的人員的考勤工作。
學生考勤管理系統包含五個大的功能,分別是:錄入學生缺課資訊、修改學生缺課資訊、查詢某個學生的缺課情況、統計某段時間內(以天為單位),曠課學生姓名及曠課節數和統計某段時間內,有學生曠課的課程及曠課人次。學生的缺課資訊主要包含缺課日期,第幾節課、課程名稱,學生姓名,缺課型別。
在錄入學生缺課資訊時根據系統提示逐一輸入。每輸入完一條資訊,系統會提示是否繼續輸入,使用者可以選擇繼續或返回主選單。
在修改學生缺課資訊時,使用者首先輸入要修改的學生姓名,系統會檢索如果系統中有該學生的相關資訊則系統首先會提示使用者修改該學生的那一部分資訊,使用者可自行選擇。如果系統中沒有該學生的相關資訊,則系統會給相關提示,使用者可以選擇繼續輸入要修改的學生姓名或選擇退出返回主選單。
在查詢學生缺課資訊時,使用者先輸入要查詢的學生姓名,系統檢索判斷是否存在該
學生的資訊然後做出相應的提示。總之,使用者可以方便的在系統提示下進行使用。
學生考勤管理系統中功能模組圖:
學生考勤管理系統中四個類的類層次圖為:
圖2 學生考勤管理系統中中四個類的類層次圖
學生考勤管理系統中各功能模組的實現:
圖3 學生考勤管理系統中選單函式的功能圖
1、 學生缺課資訊錄用功能模組:
圖4 學生缺課資訊錄入的功能
2、 修改某學生缺課資訊功能的模組圖
圖5 學生考勤管理系統修改學生缺課資訊功能圖
3 查詢某學生缺課資訊功能圖:
圖6 學生考勤管理系統查詢學生缺課資訊功能圖
4、 統計某段時間內曠課學生姓名及曠課節數功能模組:
圖7統計某段時間內曠課學生姓名及曠課節數功能圖
5、統計某段時間內,有學生曠課的課程及曠課人次功能模組
圖8 統計某段時間內,有學生曠課的課程及曠課人次功能圖
圖 9學生考勤管理系統中四個類的uml圖
程式編寫完成後,我進行了程式除錯。除錯過程中,出現了以下問題:當錄入學生缺課資訊時,出現了無法退出錄入函式的情況,主要原因是輸入函式中while迴圈語句沒有設定跳出迴圈的條件。
除此之外,修改某學生缺課資訊時,如果沒有該學生的缺課資訊,系統沒有提示要使用者沒有該學生資訊,也沒有建議使用者重新輸入要修改的學生姓名。由此我發現了該系統修改學生缺課資訊的不足。於是,我對修改函式進行了修改與完善。
在該函式中,我設定了if語句用來判斷系統中是否存有使用者要修改的學生缺課資訊。如果沒有,則提示使用者沒有該學生的缺課資訊,使用者可以選擇繼續輸入要修改的學生姓名或者退出修改環節,可以在迴圈語句中改變迴圈進行的條件從而終止迴圈。至於在修改後顯示該學生的缺課資訊,執行時發現系統並沒有做到這一點,對源**檢查之後發現是修改函式中顯示函式的呼叫出了點問題,顯示函式的實參有誤,應該把要修改缺課資訊的學生所在的資訊類物件作為實參,然後用顯示函式的形參引用實參物件,通過物件呼叫資訊類的成員函式,從而實現顯示功能。
至於該系統的查詢功能的實現,在除錯時發現還有欠缺,當隨便輸入乙個學生姓名時,系統沒有顯示該學生的缺課資訊,也沒有提示系統沒有找到該學生的有關資訊,經過在查詢函式while迴圈中加入乙個if 條件語句後,系統實現了提示使用者的功能,如果系統中沒有你要查詢的學生缺課資訊,系統將會提示使用者,使用者可以繼續輸入要查詢的學生姓名也可以通過按系統設定的退出鍵選擇退出查詢環節。至於兩個統計功能至今沒有完善,主要是特定時間學生缺課次數和課程的缺課人次的統計問題尚待解決,現如今只完成了一兩條學生缺課資訊的統計。主要問題是特定時間這個前提條件對我造成了一定的障礙。
對系統中儲存的資訊進行查詢和統計運用物件指標比較方便,但我沒有使用,也算有點遺憾。在除錯過程中我出現的最嚴重的問題是函式形參引用物件陣列,結果系統提示將近幾十個錯誤,在我把函式形參改為物件陣列後,錯誤一下減少了很多。還有比較突出的問題是整個程式不知哪掉了個 }號系統會提示有錯,但就不懂那專業術語啥意思。
還有就是我以為派生類公有繼承的基類的保護成員在派生類內為公有成員,可編譯時才發現是不對的。通過認真除錯,我發現我有了收穫。
c 課程設計學生考勤管理系統報告 2
根據分析整個系統主要劃分為7個功能模組,分別執行要求中的功能。資料管理中可以對學生的基本資訊 課程的基本資訊 學生缺課的查詢 新增 刪除和修改。查詢管理通過根據學生姓名,課程姓名時間段兒等資訊,查詢單個學生的缺課記錄,單科課的曠課記錄,單個學生的曠課記錄。功能模組圖如圖1所示 圖1功能模組圖 這個程...
C語言課程設計任務 學生考勤系統
c語言程式設計 課程設計報告 設計題目 學生考勤管理系統設計 院系 生命科技學院 班級 農學122 姓名 劉玉柱 學號 20120114203 河南科技學院 2013 年冬季學期 一 總體設計 1 程式的總體設計 確定介面,使使用者可選擇操作專案 錄入,修改,查詢,評分,介面美化 錄入功能 使用結構...
學生考勤管理系統課程設計
高階語言程式設計 課程設計報告 計算機與資訊工程系 2013年6月30日 目錄1設計內容及要求3 1.1設計內容3 1.2設計任務及具體要求3 2概要設計4 2.1該系統的功能簡介4 2.2 總體程式框圖4 2.3各個模組之間的主要關係5 3 設計過程或程式 5 3.1各個模組的程式流程圖及執行介面...