




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 課題概述1.1 課題的目的課程設(shè)計(jì)題目:考勤管理(1) 了解并掌握中小型綜合應(yīng)用程序的一般設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;(2) 初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等基本方法和技能;(3) 提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力;(4) 訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),培養(yǎng)軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng);(5) 課題的代碼要求達(dá)到一定工作量,并具有一定的深度和難度;(6) 根據(jù)課題程序的分析和設(shè)計(jì)過程,撰寫課程設(shè)計(jì)報(bào)告。1.2 課題的要求(1) 錄入學(xué)生的缺課記錄; (2) 修改某個(gè)學(xué)生的缺課記錄;(3) 查詢某
2、個(gè)學(xué)生的缺課情況; (4) 統(tǒng)計(jì)某段時(shí)間內(nèi),曠課學(xué)生姓名及曠課次數(shù),按曠課次數(shù)由多到少排序;(5) 統(tǒng)計(jì)某段時(shí)間內(nèi),有學(xué)生曠課的課程及曠課人次,按曠課人次由多到少排序; (6) 系統(tǒng)以菜單方式工作第2章 設(shè)計(jì)思路2.1模塊設(shè)計(jì)學(xué)生考勤管理系統(tǒng)包含五個(gè)大的功能,分別是:錄入學(xué)生缺課信息、修改學(xué)生缺課信息、查詢某個(gè)學(xué)生的缺課情況、統(tǒng)計(jì)某段時(shí)間內(nèi)(以天為單位),曠課學(xué)生姓名及曠課節(jié)數(shù)和統(tǒng)計(jì)某段時(shí)間內(nèi),有學(xué)生曠課的課程及曠課人次。學(xué)生的缺課信息主要包含學(xué)號,缺課日期,第幾節(jié)課、課程名稱,學(xué)生姓名,缺課類型。在程序開始時(shí),系統(tǒng)提供相應(yīng)的菜單供用戶進(jìn)行相應(yīng)的選擇操作。本程序包括基類class
3、student學(xué)生信息課程類,以及派生類class records:public student實(shí)現(xiàn)學(xué)生信息和考勤情況操作的類。這兩個(gè)類 是所有函數(shù)進(jìn)行操作的基礎(chǔ)。Records(派生類)student *rtatic int nvoid records()void input()void wt(int &i)void rd()void pri1()void pri2()void search()void edt()void wdt(int &n)Student(基類)char cname100char sname100int snum int cnoint typeint t
4、imevoid set()void records:input()為學(xué)生考勤系統(tǒng)的錄入模塊,在錄入學(xué)生缺課信息時(shí)根據(jù)系統(tǒng)提示逐一輸入。每輸入完一條信息,系統(tǒng)會(huì)提示是否繼續(xù)輸入,用戶可以選擇繼續(xù)或返回主菜單。void records:edt()為學(xué)生考勤系統(tǒng)的修改模塊,在修改學(xué)生缺課信息時(shí),用戶首先輸入要修改的學(xué)生姓名,系統(tǒng)會(huì)檢索如果系統(tǒng)中有該學(xué)生的相關(guān)信息則系統(tǒng)首先會(huì)提示用戶修改該學(xué)生的那一部分信息,用戶可自行選擇。如果系統(tǒng)中沒有該學(xué)生的相關(guān)信息,則系統(tǒng)會(huì)給相關(guān)提示,用戶可以選擇繼續(xù)輸入要修改的學(xué)生姓名或選擇退出返回主菜單。void records:search()為學(xué)生考勤系統(tǒng)的學(xué)生查詢模塊
5、,在查詢學(xué)生缺課信息時(shí),用戶先輸入要查詢的學(xué)生學(xué)號,系統(tǒng)檢索判斷是否存在該學(xué)生,若存在則輸出查詢到的該學(xué)生的信息。void records:pri1()為學(xué)生考勤系統(tǒng)的統(tǒng)計(jì)曠課學(xué)生模塊,統(tǒng)計(jì)某段時(shí)間內(nèi),曠課學(xué)生姓名及曠課次數(shù)時(shí),用戶先輸入要查詢的時(shí)間間隔,系統(tǒng)自動(dòng)檢索在該時(shí)間段內(nèi)的學(xué)生缺課信息并按曠課次數(shù)由多到少排序。void records:pri2()為學(xué)生考勤系統(tǒng)的統(tǒng)計(jì)曠課課程模塊,統(tǒng)計(jì)某段時(shí)間內(nèi),有學(xué)生曠課的課程及曠課人次,用戶先輸入要查詢的時(shí)間間隔,系統(tǒng)自動(dòng)檢索在該時(shí)間段內(nèi)的有學(xué)生曠課的課程并按曠課人次由多到少排序。2.2 程序流程圖整個(gè)程序的流程如圖2-1所示。圖2-1 程序流程圖
6、第3章程序?qū)崿F(xiàn)3.1程序中各函數(shù)分析函數(shù)名函數(shù)功能input()錄用學(xué)生課程考勤信息wt(int &i)信息以文件的形式保存wdt(int &n)修改信息以文件的形式保存pri1()統(tǒng)計(jì)某段時(shí)間內(nèi)曠課學(xué)生姓名及曠課節(jié)數(shù)pri2()統(tǒng)計(jì)某段時(shí)間內(nèi)曠課的課程及曠課人次search()查詢學(xué)生考勤信息edt()修改學(xué)生考勤信息rd()信息以文件的形式讀出表3-1 程序中的函數(shù)列表3.2 類的實(shí)現(xiàn)1、學(xué)生信息課程類學(xué)生信息類包括學(xué)生的學(xué)號、姓名、課程、缺課節(jié)數(shù)、缺課類型、缺課時(shí)間。class student public:void set(int t,int b, char* s,ch
7、ar* c,int cno,int type) strcpy(cname,c);strcpy(sname,s);this->snum=b;this->cno=cno;this->type=type;this->time=t; char cname100,sname100;/定義缺課課程名稱,學(xué)生名稱int snum ,cno,type,time; /定義學(xué)生學(xué)號,缺課節(jié)次,缺課類型,時(shí)間;2、實(shí)現(xiàn)學(xué)生信息和考勤情況操作的類class records:public student public:records()r=new studentmax;void input();
8、void wt(int &i);void rd(); / 信息以文件的形式讀出void pri1();void pri2();void search();void edt();void wdt(int &n); student *r;static int n;int records:n=0;3、學(xué)生考勤系統(tǒng)的錄入模塊void records:input() / for(int i=0;i<100;i+) int t1,t2,t5,t6;char t3100,t4100; cout<<"請輸入學(xué)生的缺課時(shí)間: "cin>>t1;c
9、out<<"請輸入學(xué)生的學(xué)號: "cin>>t2;cout<<"請輸入學(xué)生的姓名: "cin>>t3;cout<<"請輸入學(xué)生的缺課課程: "cin>>t4;cout<<"請輸入學(xué)生的缺課節(jié)次: "cin>>t5;cout<<"請輸入學(xué)生的缺課類別(1.遲到 2.早退 3.請假 4.曠課): "cin>>t6;records:n+; cout<<endl; ri.s
10、et(t1,t2,t3,t4,t5,t6);4、學(xué)生考勤系統(tǒng)修改模塊void records:edt() / for(i=0;i<n;i+)if(ri.snum=tnum) cout<<"有您要查詢的學(xué)生" break;if(!flag)cout<<"查無此學(xué)生!"<<endl;return ;t1=ri.time;t2=ri.snum;strcpy(t3,ri.sname);strcpy(t4,ame);t5=o;t6=ri.type; cout<<"請輸入要修改的項(xiàng)目
11、:n(1.缺課時(shí)間 2.學(xué)生學(xué)號 3.學(xué)生姓名 4.缺課科目 5.缺課節(jié)次 6.缺課類型)"<<endl;cin>>km;switch(km)case 1:cout<<"請輸入學(xué)生缺課時(shí)間: " cin>>t1;break;case 2:cout<<"請輸入修改的學(xué)生學(xué)號: " cin>>t2;break;case 3:cout<<"請輸入修改的學(xué)生姓名: " cin>>t3; break;case 4:cout<<&
12、quot;請輸入修改的缺課課程: " cin>>t4 ;break;case 5:cout<<"輸入修改的缺課課程節(jié)次: " cin>>t5;break;case 6:cout<<"請輸入缺課類型(1.遲到 2.早退 3.請假 4.曠課): " cin>>t6;break; ri.set(t1,t2,t3,t4,t5,t6);else return;5、學(xué)生查詢模塊void records:search()/學(xué)生查詢模塊cout<<"請輸入要查詢的學(xué)生學(xué)號: &q
13、uot;int tnum,flag=1;cin>>tnum;for(int i=0;i<n;i+) /查找學(xué)號if(ri.snum=tnum) flag=0;if(!flag) cout<<"時(shí)間tt學(xué)號 t姓名t缺課課程t節(jié)次t類別"<<endl;cout<<ri.time<<"t" cout<<ri.snum<<"t" cout<<ri.sname<<"t" cout<<ame
14、<<"tt" cout<<o<<"t"switch(ri.type)case 1:cout<<"遲到"<<endl;break;case 2:cout<<"早退"<<endl;break; case 3:cout<<"請假"<<endl;break;case 4:cout<<"曠課"<<endl;break; if(flag)cout&
15、lt;<"沒有查到該學(xué)生的缺課記錄!"<<endl;6、學(xué)生排序void records:pri1() if(n=0)cout<<" -文件記錄為空-"<<endl;cout<<"-請先輸入數(shù)據(jù)保存在進(jìn)行此次操作-"<<endl;return;elsecout<<"請輸入要查詢的時(shí)間段: "<<endl;int time1,time2;char *str20;int num=0;cin>>time1>>
16、time2;for(int i=0;i<n;i+) if( ri.time>time2 )cout<<"該段時(shí)間內(nèi)沒有曠課的學(xué)生!"<<endl;return;if(time1<=ri.time && ri.time<=time2 ) if( ri.type=4)strnum=ri.sname;num+;if( ri-1.time<time1 )cout<<"該段時(shí)間內(nèi)沒有曠課的學(xué)生!"<<endl;return;int m=num; int j; char *
17、s20;int *c=new int m;c0=1;s0=str0;int flag;int k=1;for( i=1;i<m;i+)flag=0;for( j=0;j<k;j+)if(!(strcmp(stri,sj)cj+;flag=1;if(!flag)sk=stri;ck+=1;for(i=1;i<k;i+)for( j=i;j>0;j-)if(cj>cj-1)int tmp=cj;cj=cj-1;cj-1=tmp;char* stmp=sj;sj=sj-1;sj-1=stmp;cout<<"曠課學(xué)生姓名t曠課次數(shù)"<
18、<endl;for(i=0;i<k;i+)cout<<si<<"tt"<<ci<<endl; 7、曠課排序void records:pri2() if(n=0)cout<<" -文件記錄為空-"<<endl;cout<<"-請先輸入數(shù)據(jù)保存在進(jìn)行此次操作-"<<endl;return;elsecout<<"請輸入要查詢的時(shí)間段: "<<endl;cin>>time1>>time2;for(int i=0;i<n;i+) if(time1<=ri.time && ri.time<=time2 )if(ri.type=4)strnum=ame;num+;elsecout<<"該段時(shí)間內(nèi)沒有學(xué)生曠課!"<<endl;return;for( i=1;i<m;i+)flag=0;for( j=0;j<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版一年級上冊數(shù)學(xué)1---5的認(rèn)識(shí)說課課件
- 湖南外貿(mào)職業(yè)學(xué)院《汽輪機(jī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西藝術(shù)學(xué)院《醫(yī)學(xué)形態(tài)學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 杭州師范大學(xué)錢江學(xué)院《審計(jì)理論問題研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 曲阜遠(yuǎn)東職業(yè)技術(shù)學(xué)院《有氧搏擊操與健身舞》2023-2024學(xué)年第二學(xué)期期末試卷
- 珠海格力職業(yè)學(xué)院《師德案例與養(yǎng)成》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江幼兒師范高等??茖W(xué)?!秾ν鉂h語教學(xué)理論與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 懷化師范高等??茖W(xué)校《職業(yè)培訓(xùn)與指導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧機(jī)電職業(yè)技術(shù)學(xué)院《微生物學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北國土資源職業(yè)學(xué)院《舞臺(tái)劇創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 餐飲行業(yè)抖音代運(yùn)營方案
- 《聰明人和傻子和奴才》 課件
- 抗震支架設(shè)計(jì)流程
- 中國絲綢簡述ppt課件
- 蘇軾《浣溪沙》優(yōu)秀課件
- 塑料包裝袋購銷合同
- 年產(chǎn)40萬噸甲醇合成工藝設(shè)計(jì)
- DDS307電導(dǎo)率以說明書
- S7、S9、S11系列變壓器損耗表
- 滿語語法入門拉丁版
- 化工企業(yè)安全生產(chǎn)診斷檢查表
評論
0/150
提交評論