




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
⑦退出系統(tǒng)。選擇菜單7,退出系統(tǒng)。如圖4.1.7.圖結(jié)果分析這次的課程設(shè)計(jì),用到類與繼承派生的知識(shí)。另外對(duì)指針,引用也有很多的使用。程序中通過(guò)建立對(duì)象數(shù)組來(lái)實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用。我認(rèn)為這是一個(gè)亮點(diǎn)。雖然程序中沒(méi)有其他的優(yōu)點(diǎn),都是平常的函數(shù)及排序等。由于我對(duì)繼承的知識(shí)掌握不好,在派生類中不知道如何使用基類的數(shù)據(jù)成員。在信息類中我不清楚如何調(diào)用基類student中的name數(shù)據(jù)成員。后來(lái)通過(guò)老師的幫助,我知道了需要在基類構(gòu)造沒(méi)有參數(shù)的函數(shù)。在派生類的構(gòu)造函數(shù)中會(huì)自動(dòng)調(diào)用基類的構(gòu)造函數(shù)。自然name就在信息類可以很好的使用了。另外,在開(kāi)始的時(shí)候我將student的成員變量設(shè)為protected類型,但是在調(diào)試的時(shí)候顯示信息類構(gòu)造函數(shù)有錯(cuò)。而將它改為public之后就正確了。至于是什么原因,我也不清楚。攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)總結(jié)5總結(jié)這次的程序設(shè)計(jì)相對(duì)于上學(xué)期還是有了進(jìn)步的。雖然大部分是通過(guò)看網(wǎng)上的資料來(lái)完成自己的程序,但是我編了幾個(gè)函數(shù),并且自己改掉了在網(wǎng)上所找程序的錯(cuò)誤。最后,課程設(shè)計(jì)順利完成,題目所要求的功能也都一一實(shí)現(xiàn),可以對(duì)學(xué)生的缺課信息進(jìn)行添加,修改,刪除以及查詢的顯示。整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程對(duì)于我來(lái)說(shuō)算是個(gè)學(xué)習(xí)、探索的過(guò)程,通過(guò)實(shí)踐和對(duì)比別人開(kāi)發(fā)程序的過(guò)程。在整個(gè)設(shè)計(jì)過(guò)程中,出現(xiàn)過(guò)很多的問(wèn)題,很多繁瑣的東西都需要反復(fù)的修改,主要是前期工作不徹底,對(duì)系統(tǒng)的需求分析的要求認(rèn)識(shí)不夠清楚,使得在后邊的工作中不得不經(jīng)常反復(fù)去修改。使我體會(huì)到設(shè)置中每一步的重要性。所以在分析一個(gè)問(wèn)題時(shí),我們需要站在一個(gè)有遠(yuǎn)見(jiàn)的高度。最后,通過(guò)完成編程,我達(dá)到了:1、加深對(duì)本課程理論知識(shí)的理解,提高實(shí)際應(yīng)用能力;2、樹(shù)立自身對(duì)理論聯(lián)系實(shí)際的工作作風(fēng)、嚴(yán)肅認(rèn)真的科學(xué)態(tài)度;3、進(jìn)一步訓(xùn)練和提高自身的分析設(shè)計(jì)能力、理論計(jì)算能力、實(shí)驗(yàn)研究能力、外文閱讀、查閱文獻(xiàn)資料和文字表達(dá)等基本技能;4、培養(yǎng)自身獨(dú)立分析、解決實(shí)際問(wèn)題的能力,培養(yǎng)自身的創(chuàng)新意識(shí)和創(chuàng)新能力。雖然時(shí)間緊迫但我學(xué)會(huì)了很多,也感到自身知識(shí)的貧乏,希望在日后的努力中能做出更完善的系統(tǒng)。攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)參考文獻(xiàn)[1]譚浩強(qiáng).C++語(yǔ)言程序設(shè)計(jì)(第二版).清華大學(xué)出版社.[2]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第四版).清華大學(xué)出版社.[3].攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)附錄:程序源代碼附錄:程序源代碼#include<iostream>#include<cstring>#include<windows.h>usingnamespacestd;//學(xué)生信息類classstudent{public: student(){}student(stringno,chars,inta,stringc,char*na):number(no),sex(s),age(a),clas(c){strcpy(name,na);}voidset(){cin>>number;cin>>sex;cin>>age;cin>>clas;cin>>name;}//學(xué)號(hào)、姓名、性別、年齡、班級(jí)public:stringnumber,clas;charname[20];charsex;intage;};//時(shí)間類classtime{public:time(inty=0,intm=0,intd=0){year=y;month=m;day=d;}~time(){}protected: intyear,month,day;};//信息類classxinxi:publictime,student{public:xinxi():student(),time(){tiaoshu++;}~xinxi(){tiaoshu--;}voidsetname(char*na){strcpy(name,na);}//voidsetname(char*n){strcpy(name,n);}voidsettime(inty,intm,intd){year=y;month=m;day=d;}voidsetqklx(char*qk){strcpy(queke,qk);}voidsetjieci(char*jc){strcpy(jieci,jc);}voidsetkechen(char*kc){strcpy(kechen,kc);}char*getname(){returnname;}//char*getname(){char*n;n=name;returnn;}char*getqklx(){char*qk=queke;returnqk;}char*getjieci(){char*jc;jc=jieci;returnjc;}char*getkechen(){char*gk;gk=kechen;returngk;}int*gettime();private://charname[20];//姓名charjieci[3],kechen[10],queke[10];inttm[3]; staticinttiaoshu;};intxinxi::tiaoshu=0;int*xinxi::gettime(){int*t;t=tm; tm[0]=year; tm[1]=month; tm[2]=day; returnt;}//缺課課程類classqkechen:publicxinxi{public:qkechen(){kcshu++;}~qkechen(){kcshu--;}intgetrc(xinxist1[],intn,intj);charqkn[20];//公有數(shù)據(jù)成員private:intrenci;staticintkcshu;//靜態(tài)數(shù)據(jù)成員};intqkechen::kcshu=0;intqkechen::getrc(xinxist1[],intn,intj){renci=0;renci++;for(inti=0;i<n;i++)if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)== *(st1[j].gettime()+2)) if(strcmp(qkn,st1[i].getkechen())==0) renci++; returnrenci;}//缺課學(xué)生類classqstu:publicxinxi{public:qstu(){qst++;}~qstu(){qst--;}voidprint(xinxi&st1);intgetjs(xinxist1[],intn,intj);intsetjs(intjs=0){jieshu=js;}charqstn[20];private:intjieshu;staticintqst;//靜態(tài)數(shù)據(jù)成員};intqstu::qst=0;//類的實(shí)現(xiàn)voidqstu::print(xinxi&st1){ cout<<"|缺課日期|"<<"第幾節(jié)課|"<<"課程名稱|"<<"缺課類型|"<<endl;cout<<"|"<<*st1.gettime()<<"|"<<*(st1.gettime()+1)<<*(st1.gettime()+2)<<"|"<<st1.getjieci()<<"|"<<st1.getkechen()<<"|"<<st1.getqklx()<<"|"<<endl;}intqstu::getjs(xinxist1[],intn,intj){inti=0,js=0;xinximin; if(*(st1[j].getjieci()+2)!='\0') js=+2; else js++; for(i=0;i<n;i++) if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)==*(st1[j].gettime()+2))if(strcmp(st1[i+1].getname(),st1[j].getname())==0) { if(*(st1[i].getjieci()+2)!='\0') js=+2; else js++; } jieshu=js; returnjieshu;}//函數(shù)聲明intshuru(xinxist1[]);voidchaxun(xinxist1[],qstuqt[]);voidxiugai(xinxist1[],intn);voidtongji1(xinxist1[],qstuqt1[]);voidtongji2(xinxist1[],qkechenqk1[]);voidcaidan();voidxiansi(xinxi&st1);voidsetqstn(xinxist1[],qstuqt1[],intn);voidsetqkn(xinxist1[],qkechenqk[],intn);//全局變量intg,k=1,b=1;intq=-1;charname[20],kechen[10],queke[10],jieci[3];inty,m,d;//主函數(shù)intmain(){xinxitl[15];//定義15條信息類對(duì)象 qstuqt[10]; qkechenqk[6];intch; while(1) {cout<<"********歡迎進(jìn)入學(xué)生考勤管理系統(tǒng)!*********"<<endl; caidan();cout<<"請(qǐng)選擇菜單項(xiàng):"<<endl;cin>>ch; switch(ch) {case1:g=shuru(tl);break; case2:xiugai(tl,g);break; case3:chaxun(tl,qt);break; case4:tongji1(tl,qt);break; case5:tongji2(tl,qk);break; case6:exit(0); } } return0;} //菜單函數(shù)voidcaidan(){system("colorA"); cout<<"*************************************************************"<<endl;cout<<"*學(xué)生考勤管理系統(tǒng)*"<<endl;cout<<"*************************************************************"<<endl;cout<<"1.錄入學(xué)生的缺課記錄*"<<endl;cout<<"2.修改學(xué)生的缺課記錄*"<<endl;cout<<"3.查詢學(xué)生的缺課情況*"<<endl;cout<<"4.統(tǒng)計(jì)某段時(shí)間內(nèi)曠課學(xué)生姓名及曠課節(jié)數(shù)*"<<endl;cout<<"5.統(tǒng)計(jì)某段時(shí)間內(nèi)曠課的課程及曠課人次*"<<endl;cout<<"6.退出系統(tǒng)*"<<endl;}//輸入函數(shù)intshuru(xinxist1[]){chara; cout<<"輸入開(kāi)始!"<<endl;do{q++; cout<<"請(qǐng)輸入學(xué)生姓名"<<endl;cin>>name; st1[q].setname(name); cout<<"請(qǐng)輸入課程名稱"<<endl; cin>>kechen; st1[q].setkechen(kechen); cout<<"請(qǐng)輸入缺課日期"<<endl; cin>>y>>m>>d; st1[q].settime(y,m,d); cout<<"請(qǐng)輸入缺課類型"<<endl;cin>>queke; st1[q].setqklx(queke); cout<<"請(qǐng)輸入缺課節(jié)次"<<endl; cin>>jieci; st1[q].setjieci(jieci); cout<<"是否還要繼續(xù)輸入:(y/n)"<<endl; cin>>a; }while(a=='y'); returnq+1;}//修改函數(shù) voidxiugai(xinxist1[],intn) { intk=1,j=0,a[10]; intflgh;inth;while(k==1) {cout<<"請(qǐng)輸入你要修改缺課記錄的學(xué)生姓名"<<endl;cin>>name; flgh=0; for(inti=0;i<n;i++) if(strcmp(name,st1[i].getname())==0) do{a[j]=i; cout<<"1.修改日期2.修改節(jié)次3.修改課程名稱4.修改缺課類型"<<endl; cout<<"請(qǐng)輸入要選擇的數(shù)值(1,2,3,4)"<<endl; intb; cin>>b; if(b==1) {cout<<"請(qǐng)輸入新日期"<<endl; cin>>y>>m>>d; st1[i].settime(y,m,d); } elseif(b==2) {cout<<"請(qǐng)輸入新節(jié)次"<<endl; cin>>jieci; st1[i].setjieci(jieci); } elseif(b==3) {cout<<"請(qǐng)輸入新課程名稱"<<endl; cin>>kechen; st1[i].setkechen(kechen); }elseif(b==4) {cout<<"請(qǐng)輸入新缺課類型"<<endl; cin>>queke; st1[i].setqklx(queke); } flgh=1;j++; }while(b<1||b>4); if(flgh==0) {cout<<"沒(méi)有你要找的學(xué)生姓名,請(qǐng)重試要退出請(qǐng)按0"<<endl;cin>>k; } else {cout<<"還要繼續(xù)嗎(1\0)退出請(qǐng)按0"<<endl; cin>>k; } } for(inti=0;i<j;i++) {h=a[i]; xiansi(st1[h]); }}//查詢函數(shù)voidchaxun(xinxist1[],qstuqt[]){ charn='y'; intu[10]; while(n=='y') {intj=0; cout<<"輸入你要查詢的學(xué)生姓名:"<<endl; cin>>name; inti=0; for(;i<g;i++) if(strcmp(name,st1[i].getname())==0) {u[j]=i;j++; }if(j==0) {cout<<"沒(méi)有你所要的學(xué)生名字!";//沒(méi)有找到 cout<<"是否退出退出請(qǐng)按n\n"; cin>>n; } for(inta=0;a<j;a++) {//只有一條信息 if(j<2){i=u[a];cout<<"|缺課日期|"<<"第幾節(jié)課|"<<"課程名稱|"<<"缺課類型|"<<endl;cout<<"|"<<*st1[i].gettime()<<"|"<<*(st1[i].gettime()+1)<<"|"<<*(st1[i].gettime()+2)<<"|"<<st1[i].getjieci()<<"|"<<st1[i].getkechen()<<"|"<<st1[i].getqklx()<<"|"<<endl; } //兩條信息以上排序else{i=u[a]; if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1)) qt[i].print(st1[i]); elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2))qt[i].print(st1[i]);elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2)) if(strcmp(st1[i].getjieci(),st1[i+1].getjieci())==-1) qt[i].print(st1[i]); } cout<<"是否繼續(xù)查詢(y/n)繼續(xù)請(qǐng)按y退出按n"<<endl; cin>>n; } } } //統(tǒng)計(jì)某段時(shí)間內(nèi)曠課學(xué)生姓名及曠課節(jié)數(shù) voidtongji1(xinxist1[],qstuqt1[]) {intd1=0,js=0; xinximin; if(g==0) cout<<"沒(méi)有你要統(tǒng)計(jì)的學(xué)生信息請(qǐng)返回菜單錄入學(xué)生缺課信息"<<endl; elseif(g==1) { cout<<"姓名:"<<st1[0].getname()<<endl;if(*(st1[0].getjieci()+2)!='\0') js=+2; else js++; cout<<"節(jié)數(shù):"<<js<<endl; } else //信息按時(shí)間排序 {inti=0; for(;i<(g-1);i++) { if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1)) {min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];} elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2)) {min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];} elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2)) d1++; } for(intj=0;j<(g-d1);j++) { cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<<endl;for(i=0;i<k;i++) {setqstn(st1,qt1,g); cout<<"姓名:"<<qt1[i].qstn<<endl; cout<<"節(jié)數(shù):"<<qt1[i].getjs(st1,g,i)<<endl; } } } } //統(tǒng)計(jì)某段時(shí)間內(nèi)曠課的課程及曠課人次voidtongji2(xinxist1[],qkechenqk1[]) {intd1=0,rc=0;xinximin;if(g==0) cout<<"沒(méi)有你要統(tǒng)計(jì)的學(xué)生信息請(qǐng)返回菜單錄入學(xué)生缺課信息"<<endl; elseif(g==1) { cout<<"課程名:"<<st1[0].getkechen()<<endl; rc++; cout<<"人數(shù):"<<rc<<endl; } else { inti=0; for(;i<g;i++) { if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1)) {min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];} elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2)) {min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];} elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2))d1++; } for(intj=0;j<(g-d1);j++) { cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<<endl; for(i=0;i<b;i++) {setqkn(st1,qk1,g); cout<<"課程名:"<<qk1[i].qkn<<endl; cout<<"人數(shù):"<<qk1[i].getrc(st1,g,i)<<endl; } } }}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應(yīng)材料解除合同范本
- 化妝合同范本
- 代理雨鞋采購(gòu)合同范本
- 獸藥委托加工合同范本
- 公租房出售合同范本
- 代理工程合同范本
- 買新房認(rèn)購(gòu)合同范例
- 2024年洛陽(yáng)市新安縣龍?zhí)洞髰{谷荊紫仙山景區(qū)招聘考試真題
- 農(nóng)業(yè)技術(shù)人員服務(wù)合同范本
- 2024年菏澤市勞信就業(yè)服務(wù)有限公司招聘制醫(yī)院人員考試真題
- 老年病科重點(diǎn)??平ㄔO(shè)
- 歌劇卡門課件教學(xué)課件
- 工程投標(biāo)文件范本完整版
- 小學(xué)二年級(jí)開(kāi)學(xué)家長(zhǎng)會(huì)課件2024-2025學(xué)年
- 光伏發(fā)電績(jī)效考核管理
- 低空經(jīng)濟(jì)無(wú)人機(jī)行業(yè)市場(chǎng)趨勢(shì)與競(jìng)爭(zhēng)分析
- 信息論與編碼理論-全
- 正是橙黃橘綠時(shí)讀書分享好書推介感悟教學(xué)課件
- 舌尖上的美食中國(guó)美食文化北京小吃介紹
- 南方全站儀NTS-332R說(shuō)明書
- 2024年航空職業(yè)技能鑒定考試-航空乘務(wù)員考試近5年真題附答案
評(píng)論
0/150
提交評(píng)論