學生考勤管理系統(tǒng)課程設計_第1頁
學生考勤管理系統(tǒng)課程設計_第2頁
學生考勤管理系統(tǒng)課程設計_第3頁
學生考勤管理系統(tǒng)課程設計_第4頁
學生考勤管理系統(tǒng)課程設計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上學號2012-2013學年 第二學期高級語言程序設計課程設計報告題目:學生考勤管理系統(tǒng)專業(yè):計算機科學與技術班級:12(2)班姓名:李天棟指導教師:孫淮寧成績:計算機與信息工程系2013年6月30日目錄1設計內容及要求.31.1設計內容.31.2設計任務及具體要求.32概要設計.42.1該系統(tǒng)的功能簡介.42.2 總體程序框圖.42.3各個模塊之間的主要關系.53 設計過程或程序代碼.53.1各個模塊的程序流程圖及運行界面.53.2對關鍵代碼加以分析說明.104程序調試分析.145小結.17 致謝.17 參考文獻.17 附:源程序.181 設計內容及要求1.1設計內容

2、學生考勤信息記錄了學生的缺課情況,它包括:缺課日期、第幾節(jié)課(連續(xù)用begin-end的形式表示)、課程名稱(課程名稱中不會出現(xiàn)空格)、學生姓名、缺課類型(遲到、早退、請假及曠課)。1.2設計任務及具體要求任務:(1)給出軟件結構,說明各模塊的功能。(2)設計相關的類,并說明該類的作用。特別要用圖形說明類之間的繼承關系。 (3)編寫代碼具體要求:(1)定義相關的數(shù)據(jù),比如:學生學號 學生姓名 課程名稱 上課時間 到課時間出勤狀態(tài) 曠課/病假/事假/遲到/早退(2)能夠進行以下操作:A能夠對數(shù)據(jù)進行增、刪、改、查操作。B能夠按學號順序列出某一課程的出勤狀況2 概要設計2.1系統(tǒng)的功能簡介考勤管理

3、系統(tǒng),有以下功能: (1)錄入學生的缺課記錄:從鍵盤輸入數(shù)據(jù)(提示:為避免重復從鍵盤輸入數(shù)據(jù),測試時可將數(shù)據(jù)存儲在文件中,利用輸入重定向功能讀入),輸入格式為:缺課日期 第幾節(jié)課 課程名稱學生姓名 缺課類型 每行一條紀錄。 例如: 2013-04-29 2-4 中國近現(xiàn)代文學史 李云龍 遲到 2013-04-28 2-4 大學生社交禮儀 馬志鵬 曠課 (2)修改某個學生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然后顯示一下

4、修改后的紀錄。 (3)查詢某個學生的缺課情況:查詢結果按照日期升序排序,同一天內按照所缺課程的時間升序排序。 (4)統(tǒng)計某段時間內(以天為單位),曠課學生姓名及曠課節(jié)數(shù),查詢結果先按曠課節(jié)數(shù)降序排序,曠課節(jié)數(shù)相同的學生按姓名升序排序; (5)統(tǒng)計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱升序排序。  2.2 總體程序框圖修改某學生的缺課信息查詢某學生的缺課信息統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)統(tǒng)計某段時間內,有學生曠課的課程及曠課人次錄入學生的缺課信息學生考勤管理系統(tǒng)錄入缺課學生的姓名、缺課日

5、期、缺課節(jié)次、缺課課程名稱、缺課類型修改某學生的缺課日期、缺課節(jié)次、缺課課程名稱、缺課類型查詢某學生的缺課日期、缺課節(jié)次、缺課課程名稱、缺課類型按時間升序顯示曠課學生姓名及曠課節(jié)數(shù)按時間升序顯示有學生曠課的課程及曠課人次 2.3各個模塊之間的主要關系本程序用結構體新定義一種數(shù)據(jù)類型,系統(tǒng)包含一個主函數(shù)和6個子函數(shù)(insert(),check(),rivise(),Delete(),output(),deleteallchain()),6個子函數(shù)分別用來插入、查詢、修改、刪除、輸出、收回動態(tài)分配的空間,在主函數(shù)中通過調用子函數(shù)來實現(xiàn)所需功能。3設計過程或程序代碼3.1各個模塊的程序流程圖及運行

6、界面學生考勤管理系統(tǒng)中四個類的類層次圖為:Time類Xinxi類qstu類qkechen類圖2 學生考勤管理系統(tǒng)中中四個類的類層次圖學生考勤管理系統(tǒng)中各功能模塊的實現(xiàn):菜單 統(tǒng)計某段時間內,有學生曠課的課程及曠課人次統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)查詢某學生的缺課信息錄入學生的缺課信息修改某學生的缺課信息 圖3 學生考勤管理系統(tǒng)中菜單函數(shù)的功能圖1、 學生缺課信息錄用功能模塊: 學生缺課信息錄用功能錄入學生缺課節(jié)次錄入學生缺課日期錄入學生缺課課程名稱錄入缺課學生姓名錄入學生缺課類型 圖4 學生缺課信息錄入的功能2、 修改某學生缺課信息功能的模塊圖修改某學生缺課信息功能修改某學生的缺課節(jié)次修

7、改某學生的缺課日期修改某學生的缺課課程修改某學生的缺課類型圖5 學生考勤管理系統(tǒng)修改學生缺課信息功能圖3 查詢某學生缺課信息功能圖:查詢某學生缺課信息功能輸入要查詢的學生姓名顯示要查詢的學生缺課信息繼續(xù)查詢或返回菜單圖6 學生考勤管理系統(tǒng)查詢學生缺課信息功能圖4、 統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)功能模塊:統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)功能統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)顯示某段時間內曠課學生姓名及曠課節(jié)數(shù)返回菜單 圖7統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)功能圖5、統(tǒng)計某段時間內,有學生曠課的課程及曠課人次功能模塊統(tǒng)計某段時間內,有學生曠課的課程及曠課人次統(tǒng)計某段時間內,有學生曠

8、課的課程及曠課人次功能顯示某段時間內,有學生曠課的課程及曠課人次返回菜單圖8 統(tǒng)計某段時間內,有學生曠課的課程及曠課人次功能圖Tine-year:int-month:int-day:int+time()+time()Xinxi-name20:char-kechen10:char-jieci3:char- queke10:char-tm3:char-tiaoshu:int=0+xinxi()+xinxi()+setname(n:char*):void +settime(y:int, m:int,d:int):void+setqklx(qk: char*): void+setjieci(jc: c

9、har*):void+setkechen(kc: char*):void+getname():char*+getqklx():char*+getjieci():char*+getkechen():char* +gettime():int*qkechen-renci:int-kcshu:int=0+qkechen()+qkechen()+getrc(st1:xinxi,n:int ,j:int):int+qkn20:charqstu-jieshu:int -qst:int+qstu()+qstu()+print(st1:xinxi &):void+getjs( st1:xinxi,n:i

10、nt, j:int):int+setjs(js:int=0):int +qstn20:char基類派生類派生類派生類 圖 9 學生考勤管理系統(tǒng)中四個類的UML圖3.2對關鍵代碼加以分析說明#include<iostream.h>#include<string.h>#include<iomanip.h>struct chuqin /用結構體定義一個新的數(shù)據(jù)類型出勤chuqinchar name10,number20,subject15,time115,time215,zhuangtai10;chuqin *next;/-void insert(chuqin*

11、&head1)/創(chuàng)建單向鏈表并插入數(shù)據(jù)chuqin *n;/定義一個chuqin類型指針nwhile(1)/一個死循環(huán)n=new chuqin;/用new運算符動態(tài)分配一個chuqin空間給指針ncout<<"請依次輸入姓名、學號、課程、上課時間、到課時間、出勤狀態(tài)(第一個字母輸入N表示結束插入):n"/輸出提示信息cin>>n->name;/輸入姓名if(n->name0='N') /判斷剛才輸入的第一個字母是否為Ndelete n;/若輸入的第一個字母為N,則用delete運算符收回剛才動態(tài)分配的空間break

12、;/跳出死循環(huán),結束插入cin>>n->number>>n->subject>>n->time1>>n->time2>>n->zhuangtai;/若條件不滿足,則繼續(xù)輸入學號、課程、上課時間到課時間等if(!head1) head1=n,n->next=NULL;/*假如head指針為空,則直接讓head指針指向n指向的存儲空間(head=n),將n->next賦值為空,即不指向任何存儲空間*/else n->next=head1,head1=n;/若head指針非空,則將n指向的存儲

13、空間插在最前面/-void check(chuqin *head)/子函數(shù)實現(xiàn)查詢功能char number110;/定義一個字符串數(shù)組name1臨時存放要查詢的姓名int flag=1;cout<<"請輸入要查詢的學號:"/輸出提示信息cin>>number1;/輸入要查詢的學號while(head)/用while循環(huán)檢索查詢是否有匹配的姓名if(strcmp(number1,head->number)=0) /用函數(shù)strcmp()判斷是否有匹配姓名if(flag) cout<<"找到!n"<<s

14、etw(12)<<"姓名"<<setw(12)<<"學號"<<setw(12)<<"課程"cout<<setw(12)<<"上課時間"<<setw(12)<<"到課時間"<<setw(12)<<"出勤狀態(tài)n"/*若條件為真,則輸出提示信息*/cout<<setw(12)<<head->name<<setw

15、(12)<<head->number<<setw(12)<<head->subject;cout<<setw(12)<<head->time1<<setw(12)<<head->time2<<setw(12)<<head->zhuangtai<<endl;flag=0;head=head->next;/更新head指針,是它指向下一個chuqin類型的存儲空間if(flag) cout<<"未找到!"/假如f

16、lag值為1,則輸出"未找到!"/-void rivise(chuqin *head)/定義子函數(shù)實現(xiàn)修改功能 char name110;/定義一個字符串數(shù)組name1臨時存放要修改的姓名cout<<"請輸入修改的姓名:"/輸出提示信息cin>>name1;/輸入要查詢的姓名while(head)if(strcmp(name1,head->name)=0) cout<<"找到此人!t"<<"請輸入此人新的信息(依次為:課程、上課時間、到課時間、出勤狀態(tài))n"ci

17、n>>head->subject>>head->time1>>head->time2>>head->zhuangtai;/輸入新的課程、上課時間、到課時間break;head=head->next;if(head=NULL) cout<<"未找到此人!無法修改!n"/-void Delete(chuqin* &head)/定義子函數(shù)實現(xiàn)刪除功能 char name110;int flag=1;chuqin *p1=NULL,*p2,*p3=head;cout<<&q

18、uot;請輸入要刪除的姓名:"cin>>name1;while(head)if(strcmp(name1,head->name)=0)cout<<"找到此人!t將此人的全部信息刪除n"if(p1=NULL)p1=head;head=head->next;delete p1;else if(p2->next=NULL) p1->next=NULL;delete p2;head=p3;else p1->next=p2->next;delete p2;head=p3;flag=0;break;p1=head;h

19、ead=head->next;p2=head;if(flag)cout<<"未找到此人!無法刪除!n"/-void output(chuqin *head)/定義子函數(shù)實現(xiàn)輸出功能if(head=NULL) cout<<"記錄為空!"else cout<<"所有的記錄依次為:n"<<setw(12)<<"姓名"<<setw(12)<<"學號"<<setw(12)<<"課程&

20、quot;cout<<setw(12)<<"上課時間"<<setw(12)<<"到課時間"<<setw(12)<<"出勤狀態(tài)n"while(head)cout<<setw(12)<<head->name<<setw(12)<<head->number<<setw(12)<<head->subject;cout<<setw(12)<<head->t

21、ime1<<setw(12)<<head->time2<<setw(12)<<head->zhuangtai<<endl;head=head->next;/-void deleteallchain(chuqin *head)/定義子函數(shù)來收回所有動態(tài)分配的存儲空間chuqin *p;while(head)p=head;head=head->next;delete p;/-void main()/主函數(shù)int a;/定義一個整型變量chuqin *head;/定義一個head指針head=NULL;while(1

22、)/死循環(huán)cout<<"請輸入一個數(shù)字(1表示插入,2表示查詢,3表示修改,"cout<<"4表示刪除,5表示輸出,6表示跳出整個程序)n"/輸出提示信息cin>>a;/輸入一個整型值if(a=6) break;/若該值為6則跳出整個循環(huán)switch(a)/若a值不為6,執(zhí)行一下程序case 1: insert(head);break;case 2: check(head);break;case 3: rivise(head);break;case 4: Delete(head);break;case 5: outpu

23、t(head);break;default: cout<<"輸入有誤,請重新輸入n"/*若輸入的a值不符合要求,則輸出提示信息*/deleteallchain(head);/調用函數(shù)deleteallchain()收回所有動態(tài)分配的存儲空間4設計結果與分析系統(tǒng)調試程序編寫完成后,我進行了程序調試。調試過程中,出現(xiàn)了以下問題:當錄入學生缺課信息時,出現(xiàn)了無法退出錄入函數(shù)的情況,主要原因是輸入函數(shù)中while循環(huán)語句沒有設置跳出循環(huán)的條件。除此之外,修改某學生缺課信息時,如果沒有該學生的缺課信息,系統(tǒng)沒有提示要用戶沒有該學生信息,也沒有建議用戶重新輸入要修改的學生姓

24、名。由此我發(fā)現(xiàn)了該系統(tǒng)修改學生缺課信息的不足。于是,我對修改函數(shù)進行了修改與完善。在該函數(shù)中,我設置了if語句用來判斷系統(tǒng)中是否存有用戶要修改的學生缺課信息。如果沒有,則提示用戶沒有該學生的缺課信息,用戶可以選擇繼續(xù)輸入要修改的學生姓名或者退出修改環(huán)節(jié),可以在循環(huán)語句中改變循環(huán)進行的條件從而終止循環(huán)。至于在修改后顯示該學生的缺課信息,運行時發(fā)現(xiàn)系統(tǒng)并沒有做到這一點,對源代碼檢查之后發(fā)現(xiàn)是修改函數(shù)中顯示函數(shù)的調用出了點問題,顯示函數(shù)的實參有誤,應該把要修改缺課信息的學生所在的信息類對象作為實參,然后用顯示函數(shù)的形參引用實參對象,通過對象調用信息類的成員函數(shù),從而實現(xiàn)顯示功能。5 小 結這次的課設

25、,我寫的程序也沒有什么獨到之處,函數(shù)參數(shù)設定不夠完美,整個程序中對指針的運用比較少。對于指針的巧妙運用把握得不夠。還有就是容易missing;或者是,這都是些應該改掉的毛病。除此以外,我對于怎樣用文件保存數(shù)據(jù)還沒深入了解,但我將數(shù)據(jù)保存到文件后又因文件打不開而無法訪問文件中的數(shù)據(jù),對于動態(tài)鏈表,我不是很清晰,也就是說無法做到熟稔運用。在調試過程中我發(fā)現(xiàn)在主函數(shù)中把字符數(shù)組名name賦值給字符指針p即p=name;然后用cout<<p;語句可以輸出字符數(shù)組里全部的內容,但利用函數(shù)返回指針值卻不能做到這一點,在我思考一番后終于明白了,這與內存中的地址值有關。致謝在這次C語言課程設計中,

26、我不僅參考了大量資料和翻閱了圖書館內的相關書籍,而且我的老師和同學給了我及大的幫助。特別是我的指導老師孫淮寧老師和徐寧。在此,我對他們表示感謝,感謝他們在我面對學習上的困難時給了我?guī)椭椭С?。也感謝那些給我?guī)椭乃型瑢W!參考文獻1 劉維富 陳建平 葛建芳 王春明,C+程序設計,北京,清華大學出版社,20072 張岳新,Visual C+程序設計,蘇州,蘇州大學出版社,20023 和克智,C+程序設計(第二版),西安,西安交通大學出版社,19994 王挺 周會平 賈麗麗 徐錫山,C+程序設計,北京,清華大學出版社,2005 附錄:源程序清單#include<iostream>#in

27、clude<cstring>#include<windows.h>using namespace std;/時間類class timepublic:time(int y=0,int m=0,int d=0)year=y;month=m;day=d;time()protected:int year,month,day;/信息類class xinxi:public time public:xinxi() tiaoshu+;xinxi()tiaoshu-;void setname(char *n)strcpy(name,n);void settime(int y,int m,

28、int d)year=y;month=m;day=d;void setqklx(char *qk)strcpy(queke,qk);void setjieci(char *jc)strcpy(jieci,jc);void setkechen(char *kc)strcpy(kechen,kc);char *getname()char *n;n=name;return n;char *getqklx()char *qk=queke;return qk;char *getjieci()char *jc;jc=jieci;return jc;char *getkechen()char *gk;gk=

29、kechen;return gk;int *gettime();private:char name20;/姓名char jieci3,kechen10,queke10;int tm3;static int tiaoshu;int xinxi:tiaoshu=0;int *xinxi:gettime() int *t;t=tm;tm0=year;tm1=month;tm2=day;return t;/缺課課程類class qkechen:public xinxipublic:qkechen()kcshu+;qkechen()kcshu-;int getrc(xinxi st1,int n,int

30、 j);char qkn20;/公有數(shù)據(jù)成員private:int renci;static int kcshu;/靜態(tài)數(shù)據(jù)成員;int qkechen:kcshu=0;int qkechen:getrc(xinxi st1,int n,int j) renci=0;renci+;for(int i=0;i<n;i+)if(*(st1i+1.gettime()+1)=*(st1j.gettime()+1)&&*(st1i+1.gettime()+2)=*(st1j.gettime()+2)if(strcmp(qkn,st1i.getkechen()=0)renci+;re

31、turn renci;/缺課學生類class qstu:public xinxipublic:qstu()qst+;qstu()qst-;void print(xinxi &st1);int getjs(xinxi st1,int n,int j);int setjs(int js=0)jieshu=js;char qstn20;private:int jieshu;static int qst; /靜態(tài)數(shù)據(jù)成員;int qstu:qst=0;/類的實現(xiàn)void qstu:print(xinxi &st1)cout<<"| 缺課日期 |"<

32、<" 第幾節(jié)課 |"<<" 課程名稱 |"<<" 缺課類型|"<<endl;cout<<"|"<<*st1.gettime()<<"|"<<*(st1.gettime()+1)<<*(st1.gettime()+2)<<"|"<<st1.getjieci()<<"|"<<st1.getkechen()<

33、<"|"<<st1.getqklx()<<"|"<<endl;int qstu:getjs(xinxi st1,int n,int j) int i=0,js=0;xinxi min;if(*(st1j.getjieci()+2)!='0')js=+2;elsejs+;for(i=0;i<n;i+)if(*(st1i+1.gettime()+1)=*(st1j.gettime()+1)&&*(st1i+1.gettime()+2)=*(st1j.gettime()+2)if(

34、strcmp(st1i+1.getname(),qstn)=0)if(*(st1i.getjieci()+2)!='0')js=+2;elsejs+;jieshu=js;return jieshu;/ 函數(shù)聲明int shuru(xinxi st1);void chaxun(xinxi st1,qstu qt);void xiugai(xinxi st1,int n);void tongji1(xinxi st1,qstu qt1);void tongji2(xinxi st1,qkechen qk1);void caidan();void xiansi(xinxi &

35、st1);void setqstn(xinxi st1,qstu qt1,int n);void setqkn(xinxi st1,qkechen qk,int n);/全局變量int g,k=1,b=1;int q=-1;char name20,kechen10,queke10,jieci3;int y,m,d;/主函數(shù)int main() xinxi tl15;/定義15條信息類對象qstu qt10;qkechen qk6;int ch;while(1)cout<<"*歡迎進入學生考勤管理系統(tǒng)!*"<<endl;caidan();cout<

36、;<"-請選擇菜單項:"<<endl;cin>>ch;switch(ch)case 1: g=shuru(tl); break;case 2: xiugai(tl,g); break;case 3: chaxun(tl,qt); break;case 4: tongji1(tl,qt); break;case 5: tongji2(tl,qk); break;case 6: exit(0);return 0;/菜單函數(shù)void caidan() system("color A");cout<<"*&qu

37、ot;<<endl;cout<<"* 學生考勤管理系統(tǒng) *"<<endl;cout<<"*"<<endl; cout<<"1.-錄入學生的缺課記錄-*"<<endl; cout<<"2.-修改學生的缺課記錄-*"<<endl;cout<<"3.-查詢學生的缺課情況-*"<<endl;cout<<"4.-統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)-*&

38、quot;<<endl;cout<<"5.-統(tǒng)計某段時間內曠課的課程及曠課人次-*"<<endl;cout<<"6.-退出系統(tǒng)-*"<<endl;/輸入函數(shù)int shuru(xinxi st1) char a;cout<<"-輸入開始!-"<<endl;do q+;cout<<"請輸入學生姓名"<<endl;cin>>name;st1q.setname(name);cout<<&qu

39、ot;請輸入課程名稱"<<endl;cin>>kechen;st1q.setkechen(kechen);cout<<"請輸入缺課日期"<<endl;cin>>y>>m>>d;st1q.settime(y,m,d);cout<<"請輸入缺課類型"<<endl;cin>>queke;st1q.setqklx(queke);cout<<"請輸入缺課節(jié)次"<<endl;cin>>

40、;jieci;st1q.setjieci(jieci);cout<<"是否還要繼續(xù)輸入:(y/n)"<<endl;cin>>a;while(a='y');return q+1;/修改函數(shù)void xiugai(xinxi st1,int n)int k=1,j=0,a10;int flgh;int h;while(k=1) cout<<"請輸入你要修改缺課記錄的學生姓名"<<endl;cin>>name;flgh=0;for(int i=0;i<n;i+)if(

41、strcmp(name,st1i.getname()=0)do aj=i;cout<<"1.修改日期2.修改節(jié)次3.修改課程名稱4.修改缺課類型"<<endl;cout<<"請輸入要選擇的數(shù)值(1,2,3,4)"<<endl;int b;cin>>b;if(b=1) cout<<"請輸入新日期"<<endl;cin>>y>>m>>d;st1i.settime(y,m,d);else if(b=2)cout<&l

42、t;"請輸入新節(jié)次"<<endl;cin>>jieci;st1i.setjieci(jieci);else if(b=3)cout<<"請輸入新課程名稱"<<endl;cin>>kechen;st1i.setkechen(kechen);else if(b=4) cout<<"請輸入新缺課類型"<<endl;cin>>queke;st1i.setqklx(queke);flgh=1;j+;while(b<1|b>4);if(fl

43、gh=0)cout<<"沒有你要找的學生姓名,請重試要退出請按0"<<endl;cin>>k;elsecout<<"還要繼續(xù)嗎(10)退出請按0"<<endl;cin>>k;for(int i=0;i<j;i+) h=ai;xiansi(st1h);/ 查詢函數(shù)void chaxun(xinxi st1,qstu qt)char n='y'int u10;while(n='y') int j=0;cout<<"輸入你要查詢的

44、學生姓名:"<<endl;cin>>name;int i=0;for(;i<g;i+)if(strcmp(name,st1i.getname()=0) uj=i;j+;if(j=0) cout<<"沒有你所要的學生名字!"/沒有找到cout<<"是否退出退出請按nn"cin>>n;for(int a=0;a<j;a+) /只有一條信息if(j<2) i=ua;cout<<"| 缺課日期 |"<<" 第幾節(jié)課 |&q

45、uot;<<" 課程名稱 |"<<" 缺課類型|"<<endl;cout<<"| "<<*st1i.gettime()<<"| "<<*(st1i.gettime()+1)<<"| "<<*(st1i.gettime()+2)<<"| "<<st1i.getjieci()<<"| "<<st1i.get

46、kechen()<<"| "<<st1i.getqklx()<<"| "<<endl;/兩條信息以上排序elsei=ua;if(*(st1i.gettime()+1)<*(st1i+1.gettime()+1)qti.print(st1i);else if(*(st1i.gettime()+1)=*(st1i+1.gettime()+1)&&*(st1i.gettime()+2)<*(st1i+1.gettime()+2)qti.print(st1i);else if(*(st1

47、i.gettime()+1)=*(st1i+1.gettime()+1)&&*(st1i.gettime()+2)=*(st1i+1.gettime()+2)if(strcmp(st1i.getjieci(),st1i+1.getjieci()=-1)qti.print(st1i);cout<<"是否繼續(xù)查詢(y/n)繼續(xù)請按y退出按n"<<endl;cin>>n;/統(tǒng)計某段時間內曠課學生姓名及曠課節(jié)數(shù)void tongji1(xinxi st1,qstu qt1) int d1=0,js=0;xinxi min;if(g

48、=0)cout<<"沒有你要統(tǒng)計的學生信息請返回菜單錄入學生缺課信息"<<endl;else if(g=1)cout<<"姓名:"<<st10.getname()<<endl;if(*(st10.getjieci()+2)!='0')js=+2;elsejs+;cout<<"節(jié)數(shù):"<<js<<endl;else/信息按時間排序int i=0;for(;i<(g-1);i+)if(*(st1i.gettime()+1)

49、<*(st1i+1.gettime()+1)min=st1i;st1i=st1i+1;st1i+1=st1i;else if(*(st1i.gettime()+1)=*(st1i+1.gettime()+1)&&*(st1i.gettime()+2)<*(st1i+1.gettime()+2)min=st1i;st1i=st1i+1;st1i+1=st1i;else if(*(st1i.gettime()+1)=*(st1i+1.gettime()+1)&&*(st1i.gettime()+2)=*(st1i+1.gettime()+2)d1+;fo

50、r(int j=0;j<(g-d1);j+)cout<<*st1j.gettime()<<*(st1j.gettime()+1)<<*(st1j.gettime()+2)<<endl;for(i=0;i<k;i+) setqstn(st1,qt1,g);cout<<"姓名:"<<qt1i.qstn<<endl;cout<<"節(jié)數(shù):"<<qt1i.getjs(st1,g,i)<<endl;/統(tǒng)計某段時間內曠課的課程及曠課人次void tongji2(xinxi st1,qkechen qk1) int d1=0,rc=0;xinxi min;if(g=0)cout<<"沒有你要統(tǒng)計的學生信息請返回菜單錄入學生缺課信息"<<e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論