資源描述:
《學(xué)生考勤管理系統(tǒng)課程設(shè)計報告1.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、蕆一.需求分析肄功能需求:莁1、錄入學(xué)生的缺勤記錄;芀2、修改某個學(xué)生的缺勤記錄;薆3、查詢某個學(xué)生的缺勤情況;蒄4、統(tǒng)計某段時間內(nèi),缺勤學(xué)生學(xué)號及缺勤次數(shù),按缺勤權(quán)值統(tǒng)計學(xué)生的負(fù)分值,并能進(jìn)行排序;膁5、統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次,按曠課人次由多到少排序;羈6、系統(tǒng)以菜單方式工作羈數(shù)據(jù)需求袃本系統(tǒng)主要涉及的數(shù)據(jù)有學(xué)生缺課信息類和有關(guān)信息排序類。學(xué)生缺課信息包括缺課時間,學(xué)生姓名,課程名稱,第幾節(jié),學(xué)生遲到次數(shù),早退次數(shù),請假次數(shù),曠課次數(shù)。有關(guān)信息排序類包括對課程排序和對姓名排序。袂性能需求聿要求系統(tǒng)具有可靠性,速度要快肇二
2、、系統(tǒng)的主要功能薆(1)、錄入學(xué)生的缺課記錄,函數(shù)代碼voidinput(records*r){}模塊中。首先提示用戶按照正確的格式進(jìn)行學(xué)生缺課記錄的錄入,這個步驟比較簡單,只需要不斷地將記錄的每個數(shù)據(jù)項存入結(jié)構(gòu)體對應(yīng)的成員中。螞(2)、修改某個學(xué)生的缺課記錄,函數(shù)代碼voidedt(records*r){}模塊中。首先必須查找到你所需要修改的那位的學(xué)生全部缺課記錄。這個模塊不需要定義新的結(jié)構(gòu)體。在修改前當(dāng)然要檢查記錄是否為空了,不為空的話,可以設(shè)置下面這五個菜單供用戶選擇:1、缺課日期2、第幾節(jié)課3、課程名稱4、學(xué)生姓名5、缺課類型6、退出
3、修改程序并返回系統(tǒng)主菜單。修改很簡單,僅需要對該學(xué)生的某個部分進(jìn)行替換即可。采用switch語句很快就解決。最后實現(xiàn)對所選記錄的修改,完成后更新原有的學(xué)生記錄。膀(3)、查詢某個學(xué)生的缺課情況,函數(shù)代碼voidsearch(records*r){}模塊中。達(dá)到查詢結(jié)果按照日期升序排序,同一天內(nèi)按照所缺課程的時間升序排序的目的,膅(4)、統(tǒng)計,函數(shù)代碼為voidorder_c(){}和voidorder_s(){}的類模塊中。其中實現(xiàn)對課程排序和對學(xué)生姓名的排序。羆三、流程圖莃學(xué)生考勤系統(tǒng)結(jié)構(gòu)圖:羈薇蒅肅罿蚆襖袃肁肈基類的數(shù)據(jù)成員和成員描述芄薄
4、record袈Stringdate,cname,sname;膆intcno,type;蚃voidset();肀stringtostr();衿芅類名/函數(shù)名膂描述袀類名/函數(shù)名蚇record袆基類薁edt()螆records芅實現(xiàn)學(xué)生曠課情況排序芁del()的類膈wt/rd()蚅實現(xiàn)對文件的輸入和輸肂search()出蒅input()芃錄入學(xué)生的缺課記錄羈search_s()羈描述螈修改學(xué)生信息蝿刪除學(xué)生信息肀查找學(xué)生信息袇一定范圍查找學(xué)生信息袇edt()螂修改學(xué)生信息螁main()羈主函數(shù)羆四、數(shù)據(jù)結(jié)構(gòu)設(shè)計膂此程序運用多種條件語句,主體采用
5、的是動態(tài)數(shù)組、指針。系統(tǒng)的設(shè)計采用了數(shù)組語句、選擇語句和循環(huán)語句,在需要處理大量同類數(shù)據(jù)時,這樣就使程序書寫更加簡潔。程序使用了布爾函數(shù)。選擇語句多采用if多分支選擇結(jié)構(gòu)與switch語句。首先計算switch表達(dá)式,然后在caes子句中尋找值相等的常量表達(dá)式,并以此為入口符號,由此開始順序執(zhí)行。循環(huán)語句采用了for語句等、do-while語句,for語句用于已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),括號中的三個量分別用來表示循環(huán)變量初值、循環(huán)終值和循環(huán)增量。do-while語句先循環(huán)后判斷,Break語句在switch語句中,保證多分支情況的正確執(zhí)行,在循環(huán)
6、語句中,強(qiáng)制終止本層循環(huán)。保存和讀取函數(shù)是典型的函數(shù)功能,一個程序是由若干個函數(shù)組成的,保存和讀取函數(shù)是和其他函數(shù)互相調(diào)用的蒂再有使用有關(guān)類的設(shè)計,學(xué)生缺課信息類和有關(guān)信息排序類,如下:羀classrecord//學(xué)生缺課信息類肄{裊public:膂voidset(stringd,intcno,stringc,strings,inttype)螇{蕆芄羂袈薅date.assign(d);//日期cname.assign(c);//課程名字sname.assign(s);//學(xué)生姓名this->cno=cno;//對缺課類型的選擇為int型th
7、is->type=type;//缺課類型蚄}葿voidset(recordre)袀{袇膃腿蚇肆date.assign(re.date);cname.assign(re.cname);sname.assign(re.sname);this->cno=re.cno;this->type=re.type;薂}罿stringdate,cname,sname;蝿intcno,type;膄};羂蝕classrecords//實現(xiàn)學(xué)生曠課情況排序的類螀{蒆public:莁records()//構(gòu)造函數(shù)莀{薇蚅肅膁蠆r=newrecord[100];n=
8、0;}voidorder_s()//姓名的排序{羇薄袁蒆肆羃蟻蕆芄莃莂蕿薆inti;intj;string*s=newstring[n];int*c=newint