學生考勤管理系統

2021-10-01 22:45:20 字數 4097 閱讀 6970

題目: 學生考勤管理系統實驗報告

指導老師

姓名學號:

班級專業:

2012/11/16

目錄一、系統分析與設計目的 2

1、目的: 2

2、基本要求: 2

3、創新要求: 2

二、系統需求分析 3

1、介紹 3

三、 總體設計 3

四、詳細設計 4

1、學生考勤管理系統中四個類的類層次圖為: 5

2、學生考勤管理系統中各功能模組的實現: 5

3、 學生缺課資訊錄用功能模組: 6

4、 修改某學生缺課資訊功能的模組圖 6

5、 查詢某學生缺課資訊功能圖: 7

6、 統計某段時間內曠課學生姓名及曠課節數功能模組: 7

7、統計某段時間內,有學生曠課的課程及曠課人次功能模組 8

五、系統除錯 10

六、結果分析 10

七、總結 11

八、附錄:源程式清單 12

(1)熟練掌握程式設計所需相關語言的基本知識和技能;

(2)基本掌握物件導向程式設計的基本思路和方法;

(3)能夠利用所學的基本知識和技能,解決簡單的物件導向程式設計問題。

(1)要求利用物件導向的方法以及c++的程式設計思想來完成系統的設計;

(2)要求在設計的過程中,建立清晰的類層次;

(3)在系統中至少要定義四個類,每個類中要有各自的屬性和方法;

(4)在系統的設計中,至少要用到物件導向的一種機制。

在基本要求達到後,可進行創新設計,如根據查詢結果進行修改的功能。

考勤資訊記錄了學生的缺課情況,它包括:缺課日期、第幾節課(連續用begin-end的形式表示)、課程名稱(課程名稱中不會出現空格)、學生姓名、缺課型別(遲到、早退、請假及曠課)。試設計考勤管理系統,使之能提供以下功能:

1).錄入學生的缺課記錄:從鍵盤輸入資料(提示:為避免重複從鍵盤輸入資料,測試時可將資料儲存在檔案中,利用輸入重定向功能讀入),輸入格式為:缺課日期第幾節課課程名稱學生姓名缺課型別

每行一條紀錄。

2013-04-29- 2-4 中國近現代文學史李雲龍遲到

2013-04-29 2-4 大學物理馬志鵬曠課

2).修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然後顯示一下修改後的紀錄。

3).查詢某個學生的缺課情況:查詢結果按照日期公升序排序,同一天內按照所缺課程的時間公升序排序。

4).統計某段時間內(以天為單位),曠課學生姓名及曠課節數,查詢結果先按曠課節數降序排序,曠課節數相同的學生按姓名公升序排序;

5).統計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱公升序排序;

6).系統以選單方式工作。(所謂選單指使用者可以自由選擇所要執行的功能。學生可以通過以上功能錄入資訊、修改資訊、查詢資訊、整理統計出所要了解的資訊,除了要實現上述的

基本功能之外,本系統還應該在細節上下工夫,使使用者使用方便,在使用的過程中保持乙個愉快的心情。學生考勤管理系統有廣大的使用者群,這其中有老師、有教務處主任、有公司管理人員,也可以供給一般使用者使用。總之該系統可以滿足使用者需求,實現對其管理的人員的考勤工作。

學生考勤管理系統包含五個大的功能,分別是:錄入學生缺課資訊、修改學生缺課資訊、查詢某個學生的缺課情況、統計某段時間內(以天為單位),曠課學生姓名及曠課節數和統計某段時間內,有學生曠課的課程及曠課人次。學生的缺課資訊主要包含缺課日期,第幾節課、課程名稱,學生姓名,缺課型別。

在錄入學生缺課資訊時根據系統提示逐一輸入。每輸入完一條資訊,系統會提示是否繼續輸入,使用者可以選擇繼續或返回主選單。在修改學生缺課資訊時,使用者首先輸入要修改的學生姓名,系統會檢索如果系統中有該學生的相關資訊則系統首先會提示使用者修改該學生的那一部分資訊,使用者可自行選擇。

如果系統中沒有該學生的相關資訊,則系統會給相關提示,使用者可以選擇繼續輸入要修改的學生姓名或選擇退出返回主選單。在查詢學生缺課資訊時,使用者先輸入要查詢的學生姓名,系統檢索判斷是否存在該學生的資訊然後做出相應的提示。總之,使用者可以方便的在系統提示下進行使用。

學生考勤管理系統中功能模組圖:

圖2 學生考勤管理系統中中四個類的類層次圖

圖3 學生考勤管理系統中選單函式的功能圖

圖4 學生缺課資訊錄入的功能

圖5 學生考勤管理系統修改學生缺課資訊功能圖

圖6 學生考勤管理系統查詢學生缺課資訊功能圖

圖7統計某段時間內曠課學生姓名及曠課節數功能圖

圖8統計某段時間內,有學生曠課的課程及曠課人次功能圖

圖9學生考勤管理系統中四個類的uml圖

程式編寫完成後,我進行了程式除錯。除錯過程中,出現了以下問題:當錄入學生缺課資訊時,出現了無法退出錄入函式的情況,主要原因是輸入函式中while迴圈語句沒有設定跳出迴圈的條件。

除此之外,修改某學生缺課資訊時,如果沒有該學生的缺課資訊,系統沒有提示要使用者沒有該學生資訊,也沒有建議使用者重新輸入要修改的學生姓名。由此我發現了該系統修改學生缺課資訊的不足。於是,我對修改函式進行了修改與完善。

在該函式中,我設定了if語句用來判斷系統中是否存有使用者要修改的學生缺課資訊。如果沒有,則提示使用者沒有該學生的缺課資訊,使用者可以選擇繼續輸入要修改的學生姓名或者退出修改環節,可以在迴圈語句中改變迴圈進行的條件從而終止迴圈。至於在修改後顯示該學生的缺課資訊,執行時發現系統並沒有做到這一點,對源**檢查之後發現是修改函式中顯示函式的呼叫出了點問題,顯示函式的實參有誤,應該把要修改缺課資訊的學生所在的資訊類物件作為實參,然後用顯示函式的形參引用實參物件,通過物件呼叫資訊類的成員函式,從而實現顯示功能。

至於該系統的查詢功能的實現,在除錯時發現還有欠缺,當隨便輸入乙個學生姓名時,系統沒有顯示該學生的缺課資訊,也沒有提示系統沒有找到該學生的有關資訊,經過在查詢函式while迴圈中加入乙個if條件語句後,系統實現了提示使用者的功能,如果系統中沒有你要查詢的學生缺課資訊,系統將會提示使用者,使用者可以繼續輸入要查詢的學生姓名也可以通過按系統設定的退出鍵選擇退出查詢環節。至於兩個統計功能至今沒有完善,主要是特定時間學生缺課次數和課程的缺課人次的統計問題尚待解決,現如今只完成了一兩條學生缺課資訊的統計。主要問題是特定時間這個前提條件對我造成了一定的障礙。

對系統中儲存的資訊進行查詢和統計運用物件指標比較方便,但我沒有使用,也算有點遺憾。在除錯過程中我出現的最嚴重的問題是函式形參引用物件陣列,結果系統提示將近幾十個錯誤,在我把函式形參改為物件陣列後,錯誤一下減少了很多。還有比較突出的問題是整個程式不知哪掉了個}號系統會提示有錯,但就不懂那專業術語啥意思。

還有就是我以為派生類公有繼承的基類的保護成員在派生類內為公有成員,可編譯時才發現是不對的。通過認真除錯,我發現我有了收穫。

這次的課設,我寫的程式也沒有什麼獨到之處,我覺得唯一可以從我的程式可以看出的是陣列用得比較多,反正是沒啥特色,不僅如此,還寫得功能不全,實在是慚愧。現在在這裡也只能說說它的不足之處了。類層次不夠清晰,縱觀整個程式可以發現四個類之間的關係不甚恰當,我有這個感覺,但我不知如何改進。

函式引數設定不夠完美,整個程式中對指標的運用比較少。對於指標的巧妙運用把握得不夠。還有就是容易missing,這都是些應該改掉的毛病。

除此以外,我對於怎樣用檔案儲存資料還沒深入了解,但我將資料儲存到檔案後又因檔案打不開而無法訪問檔案中的資料,對於動態鍊錶,我不是很清晰,也就是說無法做到熟稔運用。在除錯過程中我發現在主函式中把字元陣列名name賦值給字元指標p即p=name;然後用cout< 對於兩個統計函式的功能不全,我感到無能為力,我為了這兩函式苦思了兩天,硬是沒湊合來。到後來,腦子裡都亂了,執行時螢幕上盡是些亂七八糟的東西。

老師幫我看看,看有沒有什麼簡單的方法一下搞定它。

結果不是很好,但過程夠了就行。這也是自欺欺人的看法,讓我再一次自責吧。

這次的程式設計相對於上學期還是有了進步的。學生考勤管理系統要求至少要有四個類,在起初,對於定義哪四個類我是不清楚的,通過仔細的研讀問題描敘終於在腦海裡確定了這四個類。既然是學生考勤管理系統,那由學生缺課資訊中的日期我想到了時間類,這是乙個很簡單的類。

從系統的幾大功能我又想到了系統的基礎就是缺課學生的缺課資訊,於是我又想到了乙個資訊類,還有兩個類是根據兩個統計功能想到的,在現在看來似乎有些不妥。通過這次的課程設計我明白了學習程式語言必須要勤做實驗,通過實驗總結經驗。平時遇到的一些小問題一定要重視,越是基礎的知識越要理解透徹。

比如指標與陣列方面的知識,一旦沒有弄清楚,在設計程式時就會吃虧。

學生考勤管理系統

本節描述軟體產品需求規格說明書 srs 的目的是 定義軟體總體要求,作為使用者和軟體開發人員之間相互了解的基礎 提供效能要求 初步設計和對使用者影響的資訊,作為軟體人員進行軟體結構設計和編碼的基礎 作為軟體總體測試的依據。受重慶傳媒職業學院教務處委託開發教師考勤管理系統 teacher attend...

學生考勤管理系統報告

c程式設計 實訓及課程設計專案報告 一 系統簡介 設計乙個基於結構體陣列的學生考勤管理系統,能實現對學生考勤資訊進行錄入 刪除 查詢和輸出等基本操作 概要介紹所做的題目能完成的功能 二 需求分析 學籍管理系統應實現以下功能 1 能錄入學生的基本資訊,包括學號 姓名 性別 考勤資訊,儲存到結構體陣列中...

學生考勤系統

學生考勤系統第三部分 專案範圍 3.專案範圍 請對專案前景中的主要特性修改。以下為我的參考意見 fe 1考勤系統能夠錄入指紋資料。fe 2能夠快速識別指紋並分析處理。fe 3實現對學生考勤資訊的建立,瀏覽,修改和刪除。fe 4實現學生考勤系統與本地學校的學生教務系統的相關對接。fe 5實現對因缺席而...