C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁
C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁
C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁
C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁
C#程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí) 驗(yàn) 報(bào) 告 書 寫 要 求實(shí)驗(yàn)報(bào)告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點(diǎn)需打印的, 標(biāo)題采用四號(hào)黑體,正文采用小四號(hào)宋體,單倍行距。紙張一律采用A4的紙張。 實(shí)驗(yàn)報(bào)告書寫說明實(shí)驗(yàn)報(bào)告中實(shí)驗(yàn)?zāi)康暮鸵?、?shí)驗(yàn)儀器和設(shè)備、實(shí)驗(yàn)內(nèi)容與過程、實(shí)驗(yàn)結(jié) 果與分析這四項(xiàng)內(nèi)容為必需項(xiàng)。教師可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。 填寫注意事項(xiàng)(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。(3)盡量采用專用術(shù)語來說明事物。(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論 處。實(shí)驗(yàn)報(bào)告批改說明實(shí)驗(yàn)報(bào)告的批改要及時(shí)

2、、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批 改成績(jī)采用五級(jí)記分制或百分制,按金陵科技學(xué)院課堂教學(xué)實(shí)施細(xì)則中作 業(yè)批閱成績(jī)?cè)u(píng)定要求執(zhí)行。實(shí)驗(yàn)報(bào)告裝訂要求實(shí)驗(yàn)批改完畢后,任課老師將每門課程的每個(gè)實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào)告以自然 班為單位、按學(xué)號(hào)升序排列,裝訂成冊(cè),并附上一份該門課程的實(shí)驗(yàn)大綱。實(shí)驗(yàn)項(xiàng)目名稱:C罐礎(chǔ)編程實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:實(shí)驗(yàn)地點(diǎn):1318實(shí)驗(yàn)日期:10月5日-10月19日實(shí)驗(yàn)成績(jī):批改教師:批改時(shí)間:實(shí)驗(yàn) 1 C# 基礎(chǔ)編程一、實(shí)驗(yàn)?zāi)康?、熟悉 VisualStudio.NET 開發(fā)環(huán)境。2、掌握C#應(yīng)用程序的基本操作過程。3、掌握C#的數(shù)據(jù)類型,運(yùn)算符以及表達(dá)式的使用。4、掌握分

3、支和循環(huán)語句的使用方法。5、掌握一維數(shù)組,二維數(shù)組及數(shù)組型數(shù)組的使用。二、實(shí)驗(yàn)要求( 1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄( 2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境安裝有 VisualStudio.NET 軟件。四、實(shí)驗(yàn)步驟1、分析題意。2、根據(jù)題目要求,新建項(xiàng)目。3、編寫并輸入相關(guān)的程序代碼。5、運(yùn)行與調(diào)試項(xiàng)目。6、保存項(xiàng)目。五、實(shí)驗(yàn)內(nèi)容1、編寫一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用程序,打印一行文字(如你的姓名) 。usingSystem;usingusingSystem.Linq;usingSystem.Text;namespaceone.firstclassProgram

4、staticvoidMain(stringargs)2、編寫一個(gè)簡(jiǎn)單的Windows 應(yīng)用程序,在窗體 Load 事件中書寫代碼,標(biāo)簽中顯示你的姓名。usingSystem;usingSyusingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingnamespaceone.secondpublicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidForm1_Load

5、(objectsender,EventArgse)this.Text=Windows 程序 ;LabellblShow=newLabel();lblShow.Location=newPoint(20,30);lblShow.AutoSize=true;lblShow.Text=王蕾!;3、編寫一個(gè)一個(gè)程序,用來判斷輸入的是大寫字母,小寫字母,數(shù)字還是其他的字符。usingSystem;usingusingSystem.Text;namespaceone.thirdclassProgramstaticvoidMain(stringargs)Console.WriteLine(請(qǐng)輸入一個(gè)字符:);

6、charc=Convert.ToChar(Console.ReadLine();if(c=a&c=A&c=Z)Console.WriteLine(這是一個(gè)字母);if(char.IsDigit(c)Console.WriteLine(這是一個(gè)數(shù)字);4、分別用while , do-while , for 循環(huán)求 1 到 100 的和。usingSystem;usingusingSystem.Text;namespaceclassProgramstaticvoidMain(stringargs)inti=1,sum=0;while(i=100)sum=sum+i;i+;Console.Write

7、Line(1 到 100 的自然數(shù)之和為: +sum);usingSystem;usingusingSystem.Text;namespaceone.forth.twoclassProgramstaticvoidMain(stringargs)inti=1,sum=0;dosum=sum+i;i+;while(i=100);Console.WriteLine(1 到 100 的自然數(shù)的和為: +sum);usingSystem;usingusingSystem.Text;namespaceone.forth.threeclassProgramstaticvoidMain(stringargs)

8、inti,sum=0;for(i=1;i=100;i+)sum=sum+i;Console.WriteLine(1 到 100 的自然數(shù)的和為: +sum);5、 定義一個(gè)一維數(shù)組, 用隨機(jī)數(shù)為此賦值, 用 foreach 循環(huán)輸出其中的內(nèi)容。 usingSystem;usingusingSystem.Linq;usingSystem.Text;namespacefirst.fiveclassProgramstaticvoidMain(stringargs)inta=0,1,2,3,4;foreach(intiina)Console.WriteLine(ai);6、實(shí)現(xiàn)二維數(shù)組的輸入和輸出。u

9、singSystem;usingusingSystem.Linq;usingSystem.Text;namespacefirst.sixclassProgramstaticvoidMain(stringargs)int,a=newint2,31,2,3,4,5,6;for(inti=0;i2;i+)for(intj=0;j3;j+)Console.WriteLine(ai,j);7、實(shí)現(xiàn)數(shù)組型數(shù)組的輸入和輸出。usingSystem;usingusingSystem.Linq;usingSystem.Text;namespacefirst.sevenclassProgramstaticvoid

10、Main(stringargs)inta=newintnewint1,2,3,newint4,5,6;for(inti=0;ia.Length;i+)for(intj=0;jai.Length;j+)Console.WriteLine(aij);六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))剛開始編程的時(shí)候覺得無從下手, 盡管我們已經(jīng)學(xué)了好幾種高級(jí)編程語言, 但每個(gè)都有其獨(dú)特的地方,稍不留神就會(huì)混淆。通過這次實(shí)驗(yàn),我體會(huì)到課后復(fù)習(xí)鞏固的重要性。在編程的時(shí)候, 很多內(nèi)容都不記得,需要去翻書。不得不說,實(shí)驗(yàn)是鞏固課程的好方法!本次實(shí)驗(yàn),我熟悉VisualStudio.NET 開發(fā)環(huán)境;掌握了

11、 C#E用程序的基本操彳過程;掌握了C#勺數(shù)據(jù)類型, 運(yùn)算符以及表達(dá)式的使用; 掌握了分支和循環(huán)語句的使用方法以及一維數(shù)組,二維數(shù)組及數(shù)組型數(shù)組的使用。實(shí)驗(yàn)項(xiàng)目名稱:類與對(duì)象實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:實(shí)驗(yàn)地點(diǎn):1318實(shí)驗(yàn)日期:10月26日-11月9日實(shí)驗(yàn)成績(jī):批改教師:批改時(shí)間:實(shí)驗(yàn) 2 類與對(duì)象一、實(shí)驗(yàn)?zāi)康摹⒁? 1)掌握類的定義和使用;( 2)掌握類的數(shù)據(jù)成員,屬性的定義和使用;( 3)掌握方法的定義,調(diào)用和重載以及方法參數(shù)的傳遞;( 4)掌握構(gòu)造函數(shù)的定義和使用。 二、實(shí)驗(yàn)要求( 1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄;( 2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)

12、備、環(huán)境安裝有 VisualStudio.NET 軟件。四、實(shí)驗(yàn)步驟1、分析題意;2、根據(jù)題目要求,新建項(xiàng)目;3、編寫并輸入相關(guān)的程序代碼;5、運(yùn)行與調(diào)試項(xiàng)目;6、保存項(xiàng)目。五、實(shí)驗(yàn)內(nèi)容1、 定義一個(gè)方法, 實(shí)現(xiàn)兩個(gè)數(shù)的交換 (分別把參數(shù)按值傳遞和按引用傳遞) usingSystem;usingSystem.Text;namespacesecond.oneclassProgramstaticvoidMain(stringargs)Swapers=newSwaper();Console.WriteLine(輸入 x 的值:);inta=Convert.ToInt32(Console.ReadLi

13、ne();Console.WriteLine(輸入 y 的值:);intb=Convert.ToInt32(Console.ReadLine();Console.WriteLine(s.Swap(a,b);Console.WriteLine(s.Swap(refa,refb);classSwaperpublicstringSwap(intx,inty)inttemp;temp=x;x=y;y=temp;returnstring.Format(按值傳參交換之后:x=0,y=1,x,y);publicstringSwap(refintx,refinty)inttemp;temp=x;x=y;y=t

14、emp;returnstring.Format(按引用傳參交換之后:x=0,y=1”,x,y); 2、定義一個(gè)方法,實(shí)現(xiàn)數(shù)組的排序。usingSystem;usingusingSystem.Text;namespacesecond.twoclassProgrampublicclasssortpublicvoidchange(inta)Console.WriteLine(排序前,數(shù)組順序?yàn)椋?;show(a);inti,j,m;for(i=0;i=0&maj)/ 判斷 i 下標(biāo)的數(shù)是否大于j 下標(biāo)的數(shù)aj+1=aj;/ 如果 i 下標(biāo)大于 j 把 j 往后移一個(gè)位j-;aj+1=m;/ 當(dāng)不大于

15、 j 的時(shí)候就把M 的值放到 i 下標(biāo)下面 j+1 是為了下標(biāo)減到最前時(shí)考慮-1+1 還是下標(biāo)的最前面Console.WriteLine(排序后,數(shù)組順序?yàn)椋?;show(a);voidshow(inta)inti;for(i=0;i10;i+)Console.Write(0,ai);Console.WriteLine();staticvoidMain(stringargs)inta=4,7,1,2,5,8,9,10,3,6;sorts=newsort();s.change(a);3、定義一個(gè)學(xué)生類,把學(xué)生類當(dāng)作對(duì)象來傳遞。usingSystem;usingusingSystem.Linq;u

16、singSystem.Text;namespacesecond.threeclassProgrampublicclassstudent publicvoidst() inta=999; publicclassst publicvoidaa(students)Console.WriteLine(s);staticvoidMain(stringargs)students=newstudent();sts1=newst();s1.aa(s);4、定義一個(gè)方法,求兩個(gè)數(shù)的和和差,通過參數(shù)把這兩個(gè)值帶回。usingSystem;usingusingSystem.Linq;usingSystem.Text

17、;namespacesecond.fourclassProgrampublicclasssumpublicvoidab(outintm,outintn,inta,intb)m=a+b;n=a-b;staticvoidMain(stringargs)sums=newsum();inta=10;intb=3;intm,n;s.ab(outm,outn,a,b);Console.WriteLine(0+1=2;0-1=3,a,b,m,n);5、用構(gòu)造函數(shù)重載,實(shí)現(xiàn)矩形的面積,圓的面積,梯形的面積;usingSystem;usingusingSystem.Linq;usingSystem.Text;n

18、amespacesecong.fiveclassProgrampublicclasssquarepublicdoublearea;publicsquare()publicsquare(doublea)area=a*a*3.14;publicsquare(doublea,doubleb)area=a*b;publicsquare(doublea,doubleb,doubleh)area=(a+b)/2*h;staticvoidMain(stringargs)doublea,b,h,area;a=2;b=5;h=3;squares=newsquare(a,b);Console.WriteLine(

19、求矩形面積,長(zhǎng)為a=0,寬為b=1,面積 area=2,a,b,s.area);squarei=newsquare(a);Console.WriteLine(求圓形面積,半徑 a=0,面積 area=1,a,i.area);squarej=newsquare(a,b,h);Console.WriteLine(求梯形面積,上底為 a=0,下底為b=1,高為h=2 面積 area=3,a,b,h,j.area);6、設(shè)計(jì)一個(gè)windows應(yīng)用程序,在該程序中定義一個(gè)學(xué)生類和班級(jí)類,以 處理每個(gè)學(xué)生的學(xué)號(hào),姓名,語文,數(shù)學(xué)和英語成績(jī),要求:1)能查詢每個(gè)學(xué)生的總成績(jī)。2)能顯示全班前三名的名單。3)

20、能顯示單科成績(jī)最高分和不及格的學(xué)生名單。4)能統(tǒng)計(jì)全班學(xué)生的平均成績(jī)。5)能顯示各科成績(jī)不同分?jǐn)?shù)段的學(xué)生人數(shù)的百分比。Student 類:usingSystem;usingusingSystem.Text;namespaceTest2_6publicclassStudentpublicstringstuNo;publicstringname;publicdoublechinese;publicdoublemath;publicdoubleenglish;publicdoublesumScoregetreturnchinese+math+english;StudentList 類:usingSy

21、stem;usingusingSystem.Text;namespaceTest2_6publicclassStudentList:Studentintsnums;publicStudentstu=newStudent50; publicStudentList()snums=0;publicvoidaddstu(Students)stusnums=s;snums+;publicintsearchstu(stringname)inti;for(i=0;isnums;i+)if(=name)break;if(i=snums)return-1;elsereturni;/給所有成績(jī)排

22、序,用后面實(shí)現(xiàn)前三名的排名publicvoidProThree()for(inti=0;isnums;i+)intk=i;for(intj=i+1;jstuk.sumScore)k=j; if(k!=i)Studenttemp;temp=stuk;stuk=stui;stui=temp;/顯示單科成績(jī)的最高分publicintHighScore(intk)intp=0;if(k=0)for(inti=1;istup.math)p=i;elseif(k=1)for(inti=1;istup.chinese)p=i;elsefor(inti=1;istup.chinese)p=i;returnp;

23、/顯示不及格名單publicstringBuhgName(intk)stringname=;if(k=0)for(inti=0;isnums;i+)if(stui.math60)name+=+n;elseif(k=1)for(inti=0;isnums;i+)if(stui.chinese60)name+=+n;elsefor(inti=0;isnums;i+)if(stui.english60)name+=+n;returnname;publicstringgetHL()stringMaxer=,Loser=;Maxer+=單科數(shù)學(xué)最高:

24、+stuHighScore(0).name+n;Maxer+=單科語文最高:”+stuHighScore(1).name+n;Maxer+= 單科英語最高: +stuHighScore(2).name+n;Loser+=單科數(shù)學(xué)掛科名單:+BuhgName(0)+n;Loser+=單科語文掛科名單:+BuhgName(1)+n;Loser+=單科英語掛科名單:+BuhgName(2)+n; returnMaxer+n+Loser;/全班的平均成績(jī)publicstringSumScore()doublesum=0;doubleavg=0;for(inti=0;isnums;i+)sum=sum+

25、stui.sumScore;avg=sum/snums;return”班級(jí)總分平均分:+avg;/各科成績(jī)不同分?jǐn)?shù)段的學(xué)生百分比/英語成績(jī)各分?jǐn)?shù)段百分比publicstringPerC()doubleper1,per2,per3,per4,per5;doublesumC1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i90)&(stui.chinese=100)sumC1+;elseif(80=stui.chinese)&(stui.chinese90)sumC2+;elseif(70=stui.chinese)&(stui.chinese80)s

26、umC3+;elseif(60=stui.chinese)&(stui.chinese70)sumC4+; else sumC5+; per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;return”語文成績(jī)百分比:+n+90100:+per1+8090:+per2+8070:+per3+7060:+per4+60 以下 的 :+per5;/數(shù)學(xué)成績(jī)各分?jǐn)?shù)段百分比publicstringPerM()doubleper1,per2,per3,per4,per5;doublesum

27、C1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i90)&(stui.math=100)sumC1+;elseif(80=stui.math)&(stui.math90)sumC2+;elseif(70=stui.math)&(stui.math80)sumC3+;elseif(60=stui.math)&(stui.math70)sumC4+;elsesumC5+;per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;return

28、string.Format(數(shù)學(xué)成績(jī)百分比:+n+90100:+per1+8090:+per2+8070:+per3+7060:+per4+60 以下 的 :+per5);/英語成績(jī)各分?jǐn)?shù)段百分比publicstringPerE()doubleper1,per2,per3,per4,per5;doublesumC1=0,sumC2=0,sumC3=0,sumC4=0,sumC5=0;for(inti=0;i90)&(stui.english=100)sumC1+;elseif(80=stui.english)&(stui.english90)sumC2+;elseif(70=stui.engl

29、ish)&(stui.english80)sumC3+;elseif(60=stui.english)&(stui.english70)sumC4+; else sumC5+; per1=sumC1/snums;per2=sumC2/snums;per3=sumC3/snums;per4=sumC4/snums;per5=sumC5/snums;returnstring.Format(數(shù)學(xué)成績(jī)百分比:+n+90100:+per1+8090:+per2+8070:+per3+7060:+per4+60 以下 的 :+per5); From 窗體代碼: usingSystem;usingusing

30、System.ComponentModel;usingSystem.Data;usingSystem.Drawing; usingSystem.Text; usingnamespaceTest2_6publicpartialclassForm1:FormpublicForm1()InitializeComponent();publicStudentListsl=newStudentList();privatevoidbtnAdd_Click(objectsender,EventArgse) Students=newStudent();s.stuNo=txtStuNo.Text;=txtName

31、.Text;s.chinese=Convert.ToDouble(txtChina.Text);s.math=Convert.ToDouble(txtMath.Text);s.english=Convert.ToDouble(txtEng.Text);sl.addstu(s);MessageBox.Show(添力口成功);privatevoidbtnSearch_Click(objectsender,EventArgse)intpos=if(pos!=-1)label7.Text=+ 的總成績(jī): +sl.stupos.sumScore;elseMessageBox.Show(不存在這個(gè)人!);

32、privatevoidbtnFinish_Click(objectsender,EventArgse)label7.Text=前 3 名:+n;for(inti=0;i3;i+)sl.ProThree();label7.Text+=+n;label7.Text+=sl.getHL()+n;label7.Text+=Convert.ToString(sl.SumScore()+n;label7.Text+=sl.PerC()+n;label7.Text+=sl.PerM()+n;label7.Text+=sl.PerE()+n;六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心

33、得體會(huì))通過本次實(shí)驗(yàn), 我掌握了類的定義與使用;掌握了類的數(shù)據(jù)成員,屬性的定義和使用; 掌握了方法的定義, 調(diào)用和重載以及方法參數(shù)的傳遞以及構(gòu)造函數(shù)的定義和使用。值得注意的是:本次實(shí)驗(yàn)中 return 的使用以及所在的位置,類型轉(zhuǎn)換時(shí)也經(jīng)常用到實(shí)驗(yàn)項(xiàng)目名稱:繼承與多態(tài)實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:實(shí)驗(yàn)地點(diǎn):1318實(shí)驗(yàn)日期:11月16日-11月30日實(shí)驗(yàn)成績(jī):批改教師:批改時(shí)間:實(shí)驗(yàn) 3 繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康?、要求?1)掌握類的繼承性與多態(tài)性;( 2)掌握虛方法的定義以及如何使用虛方法實(shí)現(xiàn)多態(tài);( 3)掌握抽象類的定義以及如何使用抽象方法實(shí)現(xiàn)多態(tài);二、實(shí)驗(yàn)要求( 1)編寫程序要規(guī)范、正確,上機(jī)

34、調(diào)試過程和結(jié)果要有記錄;( 2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境安裝有 VisualStudio.NET 軟件。四、實(shí)驗(yàn)步驟1、分析題意;2、根據(jù)題目要求,新建項(xiàng)目;3、編寫并輸入相關(guān)的程序代碼;5、運(yùn)行與調(diào)試項(xiàng)目;6、保存項(xiàng)目。五、實(shí)驗(yàn)內(nèi)容1、設(shè)計(jì)一個(gè) Windows應(yīng)用程序,在該程序中首先構(gòu)造一個(gè)學(xué)生基本類,再分別構(gòu)造小學(xué)生、 中學(xué)生、 大學(xué)生派生類, 當(dāng)輸入相關(guān)數(shù)據(jù), 單擊不用的按鈕時(shí),將分別創(chuàng)建不同的學(xué)生類對(duì)象,并輸出當(dāng)前學(xué)生的總?cè)藬?shù),該學(xué)生的姓名, 學(xué)生 類型,平均成績(jī)。Student 類:usingSystem;usingusingSystem.Text;name

35、spaceTest3_1publicabstractclassStudentprotectedstringname;protectedintage;publicstaticintnumber;publicStudent(stringname,intage)=name;this.age=age;number+;publicstringNamegetreturnname;publicabstractdoubleAverage();publicclassPupil:Studentprotecteddoublechinese;protecteddoublemath;publicPupil(string

36、name,intage,doublechinese,doublemath):base(name,age)this.chinese=chinese;this.math=math;publicoverridedoubleAverage()return(chinese+math)/2;publicclassMiddle:Studentprotecteddoublechinese;protecteddoublemath;protecteddoubleenglish;publicMiddle(stringname,intage,doublechinese,doublemath,doubleenglish

37、) :base(name,age)this.chinese=chinese;this.math=math;this.english=english;publicoverridedoubleAverage()return(chinese+math+english)/3;publicclassCollege:Studentprotecteddoublerequired;protecteddoubleelective;publicCollege(stringname,intage,doublerequired,doubleelective) :base(name,age)this.required=

38、required;this.elective=elective;publicoverridedoubleAverage()return(required+elective)/2;Form 窗體內(nèi)的代碼:usingeric;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingnamespaceTest3_1publicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidbtnSmall_Clic

39、k(objectsender,EventArgse)Pupilp=newPupil(txtName.Text,Convert.ToInt32(txtAge.Text),Convert.ToDoubl e(txtChinese.Text),Convert.ToDouble(txtMath.Text);lblShow.Text+=總?cè)藬?shù):+Convert.ToString(Student.number)+,+姓名: +p.Name+,+ 小學(xué)生 +,+ 平均成績(jī)?yōu)椋?+p.Average()+n;privatevoidbtnMiddle_Click(objectsender,EventArgse)

40、Middlem=newMiddle(txtName.Text,Convert.ToInt32(txtAge.Text),Convert.ToD ouble(txtChinese.Text),Convert.ToDouble(txtMath.Text),Convert.ToDouble(TxtEngli sh.Text);lblShow.Text+=總?cè)藬?shù):+Convert.ToString(Student.number)+,+姓名: +m.Name+,+ 中學(xué)生 +,+ 平均成績(jī)?yōu)椋?+m.Average()+n;privatevoidbtnBig_Click(objectsender,Eve

41、ntArgse)Collegec=newCollege(txtName.Text,Convert.ToInt32(txtAge.Text),Convert.To Double(txtChinese.Text),Convert.ToDouble(txtMath.Text);lblShow.Text+=總?cè)藬?shù):+Convert.ToString(Student.number)+,+姓名: +c.Name+,+ 大學(xué)生 +,+ 平均成績(jī)?yōu)椋?+c.Average()+n;2、設(shè)計(jì)一個(gè)Windows應(yīng)用程序,在該程序中定義平面圖形抽象類和派生類 圓,矩形和三角形。Figure 類代碼:usingSys

42、tem;usingSystem.Text;namespaceTest3_2publicabstractclassFigurepublicabstractdoubleArea();publicclassCircle:Figuredoubleradius;publicCircle(doubler)radius=r;publicoverridedoubleArea()returnradius*radius*3.14;publicclassJUxing:Figuredoublechang;doublekuan;publicJUxing(doublec,doublek)this.chang=c;this

43、.kuan=k;publicoverridedoubleArea()returnchang*kuan;publicclassSan:Figuredoublebian;doubleheigth;publicSan(doubleb,doubleh)this.bian=b;this.heigth=h;publicoverridedoubleArea()returnbian*heigth/2;Form 窗體代碼:usingSystem;usingusingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Tex

44、t;usingnamespaceTest3_2publicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidbtnCircle_Click(objectsender,EventArgse)Circlec=newCircle(Convert.ToInt32(TxtChang.Text);lblShow.Text= 圓的面積為: +c.Area();privatevoidbtnJu_Click(objectsender,EventArgse)JUxingj=newJUxing(Convert.ToInt32(Tx

45、tChang.Text),Convert.ToInt32(TxtHig h.Text);lblShow.Text=矩形的面積為:+j.Area();privatevoidbtnSan_Click(objectsender,EventArgse)Sans=newSan(Convert.ToInt32(TxtChang.Text),Convert.ToInt32(TxtHigh.Text) );lblShow.Text= 三角形的面積為: +s.Area();3、定義一個(gè)Person 類,包含姓名字段和一個(gè)方法,早上 8: 30 學(xué)生開始上課,教師開始講課。分別用new關(guān)鍵字,虛方法,抽象類實(shí)現(xiàn)多

46、態(tài)性。New 關(guān)鍵字:usingSystem;usingusingSystem.Text;namespacethird.threeclassProgramstaticvoidMain(stringargs)Students=newStudent(學(xué)生);Teachert=newTeacher(教師)Console.WriteLine(+s.work();Console.WriteLine(+t.work();Console.ReadLine();publicclassPersonpublicstringname;publicinterfacemethod stringwork(); publi

47、cclassStudent:PersonpublicStudent(stringname)=name; publicstringwork() return 早上 8:30 開始上課 ; publicclassTeacher:PersonpublicTeacher(stringname)=name; publicstringwork() return 開始講課 ;虛方法:usingSystem;usingusingSystem.Text;namespaceclassProgramstaticvoidMain(stringargs)Students=newStudent(張三,學(xué)生);Person

48、Work(s);Teachert=newTeacher(季斯,教師) PersonWork(t);privatestaticvoidPersonWork(PersonPerson)Console.WriteLine(Person.Work();publicclassPersonpublicstringname;publicPerson(stringname)=name;publicvirtualstringWork()returnstring.Format(Person0: 早上 8:30開始 ,name);publicclassStudent:Personprivatestringtype;

49、publicStudent(stringname,stringtype):base(name)this.type=type;publicoverridestringWork()returnstring.Format(Person0: 早上 8:30 開始上課 ,name);publicclassTeacher:Personprivatestringtype;publicTeacher(stringname,stringtype):base(name)this.type=type;publicoverridestringWork()returnstring.Format(Person0: 開始講

50、課 ,name);抽象類:usingSystem;usingusingSystem.Text;namespaceclassProgramstaticvoidMain(stringargs)Students=newStudent(張三,學(xué)生);PersonWork(s);Teachert=newTeacher(季斯,教師) PersonWork(t);privatestaticvoidPersonWork(Personperson)Console.WriteLine(person.Work(); publicabstractclassPersonpublicstringname;publicPe

51、rson(stringname) =name; publicabstractstringWork();publicclassStudent:Personprivatestringtype;publicStudent(stringname,stringtype) :base(name)this.type=type;publicoverridestringWork() returnstring.Format(Person0: 早上 8: 30 開始上課 ,name);publicclassTeacher:Personprivatestringtype;publicTeacher(stringnam

52、e,stringtype):base(name)this.type=type;publicoverridestringWork()returnstring.Format(Person0: 開始講課 ,name);六、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))通過本次實(shí)驗(yàn), 我理解了類的繼承性與多態(tài)性; 掌握了虛方法的定義以及如何用虛方法來實(shí)現(xiàn)多態(tài);掌握了抽象類的定義以及如何用抽象方法來實(shí)現(xiàn)多態(tài)。這次實(shí)驗(yàn)與前兩次不同,采用Windows應(yīng)用程序,既涉及到代碼段也涉及到界面 的設(shè)計(jì)。所以,勉強(qiáng)通過實(shí)驗(yàn)。實(shí)驗(yàn)項(xiàng)目名稱:接口、文件和流實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:實(shí)驗(yàn)地點(diǎn):A205實(shí)驗(yàn)日期:12月7

53、日12月21日實(shí)驗(yàn)成績(jī):批改教師:批改時(shí)間:實(shí)驗(yàn)4接口、文件和流一、實(shí)驗(yàn)?zāi)康?1)掌握接口的定義及使用方法;(2)掌握流,序列化和反序列化的概念和使用方法;(3)掌握流文件的讀寫操作類及其使用方法;(4)掌握 OpenFileDialog , SaveFileDialog 等控件的使用。二、實(shí)驗(yàn)要求(1)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄;(2)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境安裝有 VisualStudio.NET 軟件。四、實(shí)驗(yàn)步驟1、分析題意;2、根據(jù)題目要求,新建項(xiàng)目;3、編寫并輸入相關(guān)的程序代碼;5、運(yùn)行與調(diào)試項(xiàng)目;6、保存項(xiàng)目。五、實(shí)驗(yàn)內(nèi)容1、定義一

54、個(gè)Person類,包含姓名字段和一個(gè)方法,早上 8: 30學(xué)生開始上 課,教師開始講課。用接口來實(shí)現(xiàn)。usingSystem;usingusingSystem.Text;namespaceTest4_1classProgramstaticvoidMain(stringargs)Students=newStudent(張三,學(xué)生);Console.WriteLine(s.Work();Teachert=newTeacher(李四,老師) Console.WriteLine(t.Work();publicabstractclassPersonpublicstringname;publicPerso

55、n(stringname)=name;interfaceIPerson stringtypeget; stringWork();publicclassStudent:Person,IPerson publicstringtype getreturnstring.Format(老師); publicStudent(stringname,stringtype) :base(name) =name;publicstringWork() returnstring.Format(Person0: 早上 8: 30 開始上課 ,name);publicclassTeacher:Person,IPerson

56、publicstringtypegetreturnstring.Format(學(xué)生);publicTeacher(stringname,stringtype):base(name) =name;publicstringWork()returnstring.Format(Person0: 早上 8: 30 開始講課 ,name);2、聲明一個(gè)接口Iplayer ,包含 5 個(gè)接口方法:播放,停止,暫停,上一首和下一首。在該程序中定義一個(gè)MP3g放器類和一個(gè)AVI播放器類,以實(shí)現(xiàn)該 接口。MP3 類(包含 Iplayer 接口,AVI 類): usingSystem;usingusingSyste

57、m.Text;namespaceTest4_2interfaceIPlayerstringPlay();stringStop();stringPause();stringPre();stringNext();publicclassMP3:IPlayerpublicstringPlay()return正在播放MP3歌曲!;publicstringStop()return停止播放MP3歌曲!;publicstringPause()return暫停播放MP3歌曲??;publicstringPre()return播放上一首 MP3歌曲!publicstringNext()return播放下一首MP3歌

58、曲!publicclassAVI:IPlayerpublicstringPlay()return正在播放AVI歌曲!;publicstringStop()II.return停止播放AVI歌曲!publicstringPause()return暫停播放AVI歌曲??;publicstringPre()return播放上一首AVI歌曲!publicstringNext()return播放下一首AVI歌曲! Form 窗體里代碼: usingSystem; usingusingSystem.ComponentModel; usingSystem.Data;usingSystem.Drawing; us

59、ingSystem.Text; usingnamespaceTest4_2publicpartialclassForm1:FormIPlayeriplayer;MP3mp3;AVIavi;publicForm1()InitializeComponent();privatevoidbtnMp3_Click(objectsender,EventArgse)mp3=newMP3();iplayer=(IPlayer)mp3;privatevoidbtnPlay_Click(objectsender,EventArgse)label1.Text=iplayer.Play();privatevoidbt

60、nUp_Click(objectsender,EventArgse)label1.Text=iplayer.Pre();privatevoidbtnStop_Click(objectsender,EventArgse)label1.Text=iplayer.Stop();privatevoidbtnPause_Click(objectsender,EventArgse)label1.Text=iplayer.Pause();privatevoidbtnNext_Click(objectsender,EventArgse)label1.Text=iplayer.Next();privatevoi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論