學(xué)生管理系統(tǒng)-_第1頁(yè)
學(xué)生管理系統(tǒng)-_第2頁(yè)
學(xué)生管理系統(tǒng)-_第3頁(yè)
學(xué)生管理系統(tǒng)-_第4頁(yè)
學(xué)生管理系統(tǒng)-_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C#學(xué)生管理系統(tǒng)1設(shè)計(jì)一個(gè)windows應(yīng)用程序,在該課程中定義一個(gè)(class學(xué)生類)和(class班級(jí)類),以處理每個(gè)學(xué)生(int學(xué)號(hào)),(string姓名),(double語(yǔ)文,數(shù)學(xué)和英語(yǔ))三門課程的期末考試成績(jī),要求:1、能根據(jù)姓名查詢指定學(xué)生的總成績(jī)(學(xué)生類中double數(shù)學(xué)+語(yǔ)文+英語(yǔ)newclassstudentstudent.sum方法1sum=+++)2、能統(tǒng)計(jì)單科最高分(該科班級(jí)最高分)3、能統(tǒng)計(jì)班級(jí)總分前三名的名單4、能統(tǒng)計(jì)指定課程在不同分?jǐn)?shù)段的學(xué)生人數(shù)百分比提示:1、定義一個(gè)Student類,包含字段(學(xué)號(hào),姓名,語(yǔ)文成績(jī),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī))和屬性(總成績(jī))2、定義一個(gè)Grade班級(jí)類,包含一個(gè)Student類型的數(shù)組(用于保存全班學(xué)生的信息)以及實(shí)現(xiàn)上述要求的方法3、設(shè)計(jì)用戶界面,首先能輸入一個(gè)學(xué)生的信息(輸入成績(jī)),但點(diǎn)擊“添加”按鈕時(shí),將信息加入到班級(jí)對(duì)象的學(xué)生數(shù)組中。當(dāng)點(diǎn)擊“完成”按鈕時(shí)調(diào)用班級(jí)類的方法來(lái)顯示各種統(tǒng)計(jì)結(jié)果。當(dāng)用戶輸入學(xué)生姓名點(diǎn)擊“查詢”按鈕顯示該生的總成績(jī)。新建student類。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceWindowsFormsApplication1{classStudent{//定義學(xué)號(hào),姓名,語(yǔ)文成績(jī),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī),總成績(jī)

publicstringstuNo;publicstringname;publicdoublechinese;publicdoublemath;publicdoubleenglish;publicdoublesumScore{get{returnchinese+math+english;}}}}新建Grade類namespaceWindowsFormsApplication1{classGrade:Student{intsnums;publicStudent[]stu=newStudent[50];//定義構(gòu)造函數(shù)

publicGrade(){snums=0;}publicvoidaddstu(Students)//添加數(shù)據(jù)

{stu[snums]=s;snums++;}publicintsearchstu(stringname)//查詢數(shù)據(jù)

{inti;for(i=0;i<snums;i++){if(stu[i].name==name)break;}if(i==snums)return-1;elsereturni;}新建Grade類publicvoidProThree(){//給所有成績(jī)排序,用后面實(shí)現(xiàn)前三名的排名(主要利用排序?qū)崿F(xiàn)對(duì)成績(jī)的排名)

for(inti=0;i<snums;i++){intk=i;for(intj=i+1;j<snums;j++)if(stu[j].sumScore>stu[k].sumScore)k=j;if(k!=i){Studenttemp;temp=stu[k];stu[k]=stu[i];stu[i]=temp;}}}新建Grade類

//顯示單科成績(jī)的最高分

publicintHighScore(intk)//構(gòu)造一個(gè)函數(shù)實(shí)現(xiàn)對(duì)分?jǐn)?shù)的比較

{intp=0;if(k==0){for(inti=1;i<snums;i++)if(stu[i].math>stu[p].math)p=i;}elseif(k==1){for(inti=1;i<snums;i++)if(stu[i].chinese>stu[p].chinese)p=i;}else{for(inti=1;i<snums;i++)if(stu[i].english>stu[p].english)p=i;}returnp;}新建Grade類

publicstringgetHL(){//調(diào)用HighScore函數(shù)

stringMaxer="";Maxer+="單科語(yǔ)文最高分:"+stu[HighScore(1)].name+"\n";Maxer+="單科數(shù)學(xué)最高分:"+stu[HighScore(0)].name+"\n";Maxer+="單科英語(yǔ)最高分:"+stu[HighScore(2)].name+"\n";returnMaxer+"\n";}//全班的平均成績(jī)

publicstringSumScore(){doublesum=0;doubleavg=0;for(inti=0;i<snums;i++){sum=sum+stu[i].sumScore;}avg=sum/snums;return"班級(jí)總分平均分:"+avg;}新建Grade類

//語(yǔ)文成績(jī)各分?jǐn)?shù)段百分比

publicstringPerC(){doubleper1,per2,per3,per4,per5;doublesumC1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i<snums;i++){//此算法也可以用switch...case:

if((stu[i].chinese>90)&&(stu[i].chinese<=100)){sumC1++;}elseif((80<=stu[i].chinese)&&(stu[i].chinese<90)){sumC2++;}elseif((70<=stu[i].chinese)&&(stu[i].chinese<80)){sumC3++;}elseif((60<=stu[i].chinese)&&(stu[i].chinese<70)){sumC4++;}else{sumC5++;}}per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;return"語(yǔ)文成績(jī)百分比:"+"\n"+"90~100:"+per1+"80~90:"+per2+"80~70:"+per3+"70~60:"+per4+"60以下的:"+per5;}新建Grade類

//數(shù)學(xué)成績(jī)各分?jǐn)?shù)段百分比

publicstringPerM(){doubleper1,per2,per3,per4,per5;doublesumC1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i<snums;i++){//此算法也可以用switch...case:

if((stu[i].math>90)&&(stu[i].math<=100)){sumC1++;}elseif((80<=stu[i].math)&&(stu[i].math<90)){sumC2++;}elseif((70<=stu[i].math)&&(stu[i].math<80)){sumC3++;}elseif((60<=stu[i].math)&&(stu[i].math<70)){sumC4++;}else{sumC5++;}}per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;returnstring.Format("數(shù)學(xué)成績(jī)百分比:"+"\n"+"90~100:"+per1+"80~90:"+per2+"80~70:"+per3+"70~60:"+per4+"60以下的:"+per5);}新建Grade類publicstringPerE(){//英語(yǔ)成績(jī)各分?jǐn)?shù)段百分比doubleper1,per2,per3,per4,per5;doublesumC1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i<snums;i++){if((stu[i].english>90)&&(stu[i].english<=100)){sumC1++;}elseif((80<=stu[i].english)&&(stu[i].english<90)){sumC2++;}elseif((70<=stu[i].english)&&(stu[i].english<80)){sumC3++;}elseif((60<=stu[i].english)&&(stu[i].english<70)){sumC4++;}else{sumC5++;}}per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;returnstring.Format("數(shù)學(xué)成績(jī)百分比:"+"\n"+"90~100:"+per1+"80~90:"+per2+"80~70:"+per3+"70~60:"+per4+"60以下的:"+per5);}}}Form1.cspublicpartialclassForm1:Form{Gradeg1=newGrade();publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){//實(shí)現(xiàn)添加數(shù)據(jù)按鈕

Students=newStudent();s.stuNo=textBox1.Text;=textBox2.Text;s.chinese=Convert.ToDouble(textBox3.Text);s.math=Convert.ToDouble(textBox4.Text);s.english=Convert.ToDouble(textBox5.Text);g1.addstu(s);MessageBox.Show("添加成功");}新建Grade類privatevoidbutton2_Click(objectsender,EventArgse){ClearInfo();//調(diào)用實(shí)現(xiàn)清屏函數(shù)從而實(shí)現(xiàn)清屏。

}privatevoidClearInfo(){//構(gòu)造實(shí)現(xiàn)清屏函數(shù)。

textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox4.Clear();textBox5.Clear();textBox6.Clear();}privatevoidbutton4_Click(objectsender,EventArgse){//實(shí)現(xiàn)查詢按鈕,在TextBox6上顯示

intpos=g1.searchstu(this.textBox6.Text);if(pos!=-1){label6.Text=this.textBox6.Text+"的總成績(jī):"+g1.stu[pos].sumScore;}else{MessageBox.Show("不存在這個(gè)人!");}}新建Grade類privatevoidbutton3_Click(objectsender,EventArgse){//實(shí)現(xiàn)完成按鈕

label6.Text="班級(jí)總分前三名的名單:"+"\n";for(inti=0;i<3;i++){g1.ProThree();label6.Text+=g1.stu[i].name

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論