版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C++程序設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)C++程序設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)C++程序設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)C++程序設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:課程設(shè)計(jì)題目:課程設(shè)計(jì)題目:學(xué)生成績(jī)管理·第1章系統(tǒng)概要系統(tǒng)介紹設(shè)計(jì)一個(gè)學(xué)生管理系統(tǒng),能夠?qū)崿F(xiàn)學(xué)生信息輸入,并對(duì)這些信息進(jìn)行處理并輸出?;竟δ芤髲逆I盤(pán)輸入某班級(jí)若干個(gè)學(xué)生的學(xué)號(hào)、姓名、三門(mén)課(語(yǔ)文、數(shù)學(xué)、英語(yǔ))的成績(jī),分別實(shí)現(xiàn)如下功能;統(tǒng)計(jì)每個(gè)學(xué)生的總分和平均分。按總分由大到小排出名次。打印出成績(jī)?cè)谌嗥骄忠陨系膶W(xué)生名單和數(shù)據(jù)信息。任意輸入一個(gè)學(xué)號(hào)或姓名,能夠查找出該學(xué)生在班級(jí)中的排名及其考試成績(jī)。本系統(tǒng)是根據(jù)學(xué)生成績(jī)管理的需要,而建立一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”,以及方便對(duì)成績(jī)的各項(xiàng)管理操作。本系統(tǒng)能對(duì)成績(jī)進(jìn)行輸入和輸出;能按成績(jī)對(duì)學(xué)生進(jìn)行排序,并顯示學(xué)生資料、成績(jī)等,不過(guò)得以系統(tǒng)輸入學(xué)生資料、成績(jī)?yōu)榍疤?。能根?jù)學(xué)生的姓名或?qū)W號(hào)來(lái)查詢?cè)搶W(xué)生的資料。設(shè)計(jì)思路與算法程序功能結(jié)構(gòu)圖 學(xué)生成績(jī)管理統(tǒng)學(xué)生成績(jī)管理統(tǒng)設(shè)置班級(jí)人數(shù)輸入學(xué)生信息統(tǒng)計(jì)平均分和總分對(duì)學(xué)生成績(jī)排序統(tǒng)計(jì)高于班級(jí)平均成績(jī)學(xué)生查找利用學(xué)號(hào)查找學(xué)生利用姓名查找學(xué)生利用姓名查找學(xué)生打印學(xué)生信息主菜單圖2-1學(xué)生成績(jī)管理系統(tǒng)功能圖各模塊介紹學(xué)生成績(jī)管理系統(tǒng)包括七個(gè)模塊:輸入學(xué)生資料,輸出學(xué)生資料,統(tǒng)計(jì)總分和平均分,按學(xué)生總成績(jī)或平均成績(jī)排序,打印平均分高于班級(jí)平均分的學(xué)生信息,按姓名或?qū)W號(hào)查找,菜單選擇這七個(gè)模塊既相互聯(lián)系又相互獨(dú)立。各模塊功能介紹1)輸入模塊(voidsetdata(studentstu[])):主要功能是用來(lái)對(duì)學(xué)生的成績(jī)進(jìn)行輸入。使用該功能可以輸入所有學(xué)生的信息、資料等。具體包括學(xué)生的班級(jí),學(xué)號(hào),姓名,各科成績(jī)。2)輸出模塊(voidprint(studentstu[],inti)):主要功能是用來(lái)對(duì)學(xué)生的成績(jī)進(jìn)行輸出。在系統(tǒng)已經(jīng)錄入了學(xué)生資料成績(jī)的前提下,使用該功能可以顯示所有學(xué)生的信息、資料等。具體包括學(xué)生的班級(jí),學(xué)號(hào),姓名,各科成績(jī),總成績(jī)和平均成績(jī)。3)統(tǒng)計(jì)模塊(voidcount(studentstu[])):主要功能是用來(lái)對(duì)學(xué)生的成績(jī)進(jìn)行計(jì)算。在系統(tǒng)已經(jīng)錄入了學(xué)生資料成績(jī)的前提下,使用該功能可以計(jì)算出每個(gè)學(xué)生的總成績(jī)和平均成績(jī)。4)排序模塊(voidsort(studentstu[])):按學(xué)生平均成績(jī)進(jìn)行排列模塊塊,此模塊的主要功能是用來(lái)對(duì)學(xué)生的平均成績(jī)進(jìn)行排序,這樣在統(tǒng)計(jì)名次是就比較方便。在系統(tǒng)保存學(xué)生資料的前提下,使用此功能能快速統(tǒng)計(jì)出學(xué)生的名次情況。5)打印平均分高于班級(jí)平均分的學(xué)生信息模塊(voidgetaverage(studentstu[])):主要功能是輸出學(xué)生平均分高于等于班級(jí)平均分的學(xué)生信息。6)查找模塊(voidsearch1(studentstu[],char*a)按學(xué)號(hào)查找voidsearch2(studentstu[],char*b)按姓名查找):主要功能是用來(lái)查找學(xué)生資料,在系統(tǒng)輸入學(xué)生資料的前提下,想查找某個(gè)學(xué)生的資料,我們只要知道他的學(xué)號(hào)或姓名,輸入學(xué)號(hào)或姓名后,系統(tǒng)可以幫我們把他的信息輸出。7)菜單模塊(intselect1()):主要功能是用來(lái)選擇哪種操作。根據(jù)提示可對(duì)學(xué)生信息進(jìn)行處理。
第3章源程序代碼#include<>umber<<"\t"<<stu[i].name<<"\t"<<stu[i].c<<"\t"<< stu[i].chinese<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<< stu[i].total<<"\t"<<stu[i].average<<endl; }break;case2:sort(stu); { for(intm=0;m<n;m++) print(stu,m);umber;cout<<"輸入姓名:";cin>>stu[i].name;cout<<"輸入班級(jí):";cin>>stu[i].c;cout<<"語(yǔ)文成績(jī):";cin>>stu[i].chinese;cout<<"數(shù)學(xué)成績(jī):";cin>>stu[i].math;cout<<"英語(yǔ)成績(jī):";cin>>stu[i].english;}}/***************************************打印學(xué)生信息***************************************/voidprint(studentstu[],inti)umber<<"\t"<<stu[i].name<<"\t"<<stu[i].c<<"\t"<<stu[i].chinese<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].total<<"\t"<<stu[i].average<<"\t"<<stu[i].rank<<endl;}/**************************************計(jì)算總分和平均分***************************************/voidcount(studentstu[]){for(inti=0;i<n;i++){stu[i].total=stu[i].math+stu[i].chinese+stu[i].english;verage=stu[i].total/3;otal<stu[j+1].total){s=stu[j];stu[j]=stu[j+1];stu[j+1]=s;}}for(intk=0;k<n;k++)stu[k].rank=k+1;verage;a=(sum/n);for(intj=0;j<n;j++)if(stu[j].average>=a)print(stu,j);}/***************************************通過(guò)學(xué)號(hào)查找學(xué)生信息。***************************************/voidsearch1(studentstu[],char*a){sort(stu);for(inti=0;i<n;i++){if(strcmp(stu[i].number,a)==0)/*****************************************Strcmp()函數(shù)簡(jiǎn)介;原型:externintstrcmp(constchar*s1,constchar*s2);所在頭文件:功能:比較字符串s1和s2。一般形式:strcmp(字符串1,字符串2)說(shuō)明:當(dāng)s1<s2時(shí),返回值<0;當(dāng)s1==s2時(shí),返回值=0;當(dāng)s1>s2時(shí),返回值>0;即:兩個(gè)字符串自左向右逐個(gè)字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:"A"<"B""a">"A""computer">"compare"特別注意:strcmp(constchar*s1,constchar*s2)這里面只能比較字符串,不能比較數(shù)字等其他形式的參數(shù)。詳細(xì)C++程序設(shè)計(jì)p83。*******************************************/{print(stu,i);break;}elseif(i==n-1)cout<<"您輸入的學(xué)號(hào)不存在"<<endl;}}/***************************************通過(guò)學(xué)生姓名查找學(xué)生信息。***************************************/voidsearch2(studentstu[],char*b){for(inti=0;i<n;i++){if(strcmp(stu[i].name,b)==0){print(stu,i);break;}elseif(i==n-1)cout<<"您輸入的姓名不存在"<<endl;}}/****************************************選擇菜單。****************************************/intselect1(){intcn;cout<<"\t1.統(tǒng)計(jì)平均分和總分\n";cout<<"\t2.按成績(jī)排序\n";cout<<"\t3.平均分以上的打印\n";cout<<"\t4.查找學(xué)生信息\n";cout<<"\t5.再見(jiàn)\n";cout<<"\t";for(;;){cin>>cn;if(cn<1||cn>6){ cout<<"\t輸入錯(cuò)誤,重選1-5:\n"; cout<<"\t"; }else break; }returncn;}/***********************************選擇菜單,選擇通過(guò)學(xué)號(hào)查找還是姓名查找。************************************/intselect2(){intcn;cout<<"\t1.按學(xué)號(hào)查找\n";cout<<"\t2.按姓名查找\n";cout<<"\t";for(;;){cin>>cn;if(cn<1||cn>2){ cout<<"\t輸入錯(cuò)誤,重選:\n"; cout<<"\t"; }elsebreak;}returncn;}
第4章運(yùn)行結(jié)果及分析圖4-1進(jìn)入時(shí)的界面,動(dòng)態(tài)設(shè)置班級(jí)人數(shù)圖4-2輸入學(xué)生信息,班級(jí)人數(shù)為3人圖4-3命令1,統(tǒng)計(jì)各個(gè)學(xué)生的總分及其平均分圖4-4命令2,對(duì)學(xué)生成績(jī)進(jìn)行排序并打印圖4-5命令3,打印成績(jī)高于班級(jí)平均成績(jī)的學(xué)生信息圖4-6命令菜單4,查找菜單,可采用學(xué)號(hào)和姓名查找學(xué)生信息圖4-7利用學(xué)號(hào)查找學(xué)生信息圖4-8利用姓名查找學(xué)生信息圖4-9輸入信息錯(cuò)誤提示,不存在學(xué)生學(xué)號(hào)或姓名需重新輸入。圖4-10輸入命令錯(cuò)誤提示。圖4-11結(jié)束操作圖4-12程序總界面(1)圖1-12程序總界面(2)心得體會(huì)在程序的編寫(xiě)過(guò)程中,我充分體會(huì)了“細(xì)節(jié)決定成敗”這句話的內(nèi)涵,因?yàn)槊恳粋€(gè)細(xì)微的細(xì)節(jié)都必須十分的注意。如果稍有不慎,就會(huì)全盤(pán)皆“輸”。而且往往很多時(shí)候,自己覺(jué)得程序非常正確,但是就是通不過(guò),在查找錯(cuò)誤的過(guò)程中,開(kāi)始否認(rèn)自己的過(guò)程,非常的難受。剛開(kāi)始看到課題的時(shí)候覺(jué)得也不是很難,就開(kāi)始寫(xiě)了,但是當(dāng)實(shí)際開(kāi)始寫(xiě)的過(guò)程中卻發(fā)現(xiàn)自己有好多欠缺的地方,知識(shí)點(diǎn)沒(méi)有完全扎實(shí)的掌握,在實(shí)踐中逐一凸顯出來(lái)了。對(duì)于傳址調(diào)用可以采用數(shù)組名作為函數(shù)參數(shù)和指針作為函數(shù)參數(shù)兩種方法,在形參哪兒往往漏寫(xiě)[],導(dǎo)致編譯錯(cuò)誤。在寫(xiě)查找函數(shù)時(shí),對(duì)于字符串的比較毫無(wú)頭緒,在利用循環(huán)比較字符串的各個(gè)元素是否相同未果的情況下,內(nèi)心開(kāi)始失落,崩潰。想著把學(xué)號(hào)弄成整型的這樣雖然容易解決但內(nèi)心又不甘,在這個(gè)地方糾結(jié)了好長(zhǎng)時(shí)間,最后還是“度娘”給了提示,利用strcmp函數(shù)可以輕松的解決這個(gè)問(wèn)題。在開(kāi)始編寫(xiě)程序的時(shí)候,總希望自己的程序多一些功能,可以更加的完善。但是往往因?yàn)榧庇谇蟪啥┒窗俪?。?duì)于班級(jí)人數(shù)的設(shè)置,想動(dòng)態(tài)的改變,所以類比數(shù)組的動(dòng)態(tài)設(shè)置寫(xiě)出了結(jié)構(gòu)體的動(dòng)態(tài)設(shè)置,但是忽略了設(shè)置一個(gè)全局變量n。這個(gè)過(guò)程曾給我沉重打擊,不過(guò)當(dāng)看到程序沒(méi)錯(cuò)誤能執(zhí)行出來(lái)時(shí),心中的喜悅難以用
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版保健食品電商平臺(tái)數(shù)據(jù)分析與用戶畫(huà)像合同2篇
- 二零二五版電影后期特效制作贊助合同3篇
- 二零二五年度建筑節(jié)能玻璃檢測(cè)與綠色建筑認(rèn)證合同3篇
- 二零二五年技術(shù)服務(wù)合同服務(wù)內(nèi)容和技術(shù)要求2篇
- 二零二五版存量房買(mǎi)賣(mài)合同家庭定制版2篇
- 二零二五版智能公廁建設(shè)與運(yùn)營(yíng)管理合同3篇
- 二零二五版體育用品促銷員賽事贊助合同3篇
- 二零二五版鐘點(diǎn)工家政服務(wù)合同-含家政員行為規(guī)范3篇
- 二零二五版國(guó)際汽車運(yùn)輸與品牌合作推廣合同3篇
- 二零二五版能源節(jié)約型產(chǎn)品采購(gòu)合同規(guī)范范本2篇
- 銷售禮盒營(yíng)銷方案
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對(duì)象登記表(樣表)
- 主管部門(mén)審核意見(jiàn)三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對(duì)幼兒社會(huì)性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級(jí)上冊(cè)第八單元《分?jǐn)?shù)的初步認(rèn)識(shí)》教材解讀
- (人教版2019)數(shù)學(xué)必修第一冊(cè) 第三章 函數(shù)的概念與性質(zhì) 復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論