2023年河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第1頁(yè)
2023年河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第2頁(yè)
2023年河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第3頁(yè)
2023年河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第4頁(yè)
2023年河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《C#?net》實(shí)驗(yàn)報(bào)告姓名:學(xué)號(hào):142871日期:2023/04/24實(shí)驗(yàn)名稱(chēng):面向?qū)ο缶幊坛煽?jī):publiccharSexget{returnsex;)set{sex=value;))//方法publicStudent(stringc,stringn,chars){num=c;name=n;sex=s;}publicvoidPrintIn()(Console.WriteLine(“學(xué)號(hào)”);num=Conso1c.RcadLinc();Console.WriteLine("姓名");name=ConsoIc.ReadLine():Console.WriteLine("性別)sex=Conver1.T0Char(Console.RcadLine()):pub1icvoidRevise()Console.WriteLine。請(qǐng)對(duì)輸入的學(xué)號(hào)重新進(jìn)行編輯:");oldnum=num;num=Console.ReadLineO:Console.WriteLine(”請(qǐng)對(duì)輸入的性別重新進(jìn)行編輯:");oIdsex=sex;sex=Convert.ToChar(Console,ReadLine());publievoidPrintOut()Console.WriteLine("修改前的信息為:學(xué)號(hào):{0},姓名:{1},性別:{2}”,oldnum,name,oldsex):Console.WriteLine("修改后的信息為:學(xué)號(hào):{0},姓名:{1},性別:(2}",num,name,sex);publicclassclassIpub1icstaticvoidMain()Console.WriteLine("在本信息中男為Q女為N");Sludentstudcnll=newStudent("123","王蘭",'N');student1.PrintIn();studentl.Revise();studentl.PrintOut();

2、關(guān)鍵代碼解釋1)為了能同時(shí)輸出修改前修改后的名稱(chēng),引入了字段oldnum,oldsex,將修改前的傳給這兩個(gè)值,并將新值覆蓋原字段num和sexo3、實(shí)驗(yàn)結(jié)果:e:\US2005\安裝\UC>實(shí)驗(yàn)1-2在本信息中男為Q女為N學(xué)號(hào)142871姓名王璐性別請(qǐng)對(duì)輸入的學(xué)號(hào)重新進(jìn)行編輯:142870請(qǐng)對(duì)輸入的性別重新進(jìn)行編輯:性別:N

性別:Qo此外為了滿(mǎn)足第3性別:N

性別:Qo此外為了滿(mǎn)足第3個(gè)實(shí)驗(yàn)條件,同時(shí)輸出,4、實(shí)驗(yàn)分析:雖然設(shè)立了屬性,但沒(méi)用實(shí)際用到,感覺(jué)也許沒(méi)有編好。。所以引入了新字段,不知道是否符合規(guī)定?!緦?shí)驗(yàn)編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,程序中有兩個(gè)類(lèi)定義,一個(gè)是創(chuàng)建程序時(shí)系統(tǒng)自動(dòng)創(chuàng)建的類(lèi)Classi,一個(gè)是用戶(hù)自定義的Student類(lèi),規(guī)定該類(lèi)包含私有實(shí)例字段:學(xué)號(hào)(字符串)、姓名(字符串)、成績(jī)(double)以及私有靜態(tài)字段:學(xué)生人數(shù)、學(xué)生總成績(jī)、學(xué)生平均成績(jī),具有有參構(gòu)造方法、顯示學(xué)生個(gè)人信息的公有實(shí)例方法和顯示學(xué)生人數(shù)、總成績(jī)及平均成績(jī)的公有靜態(tài)方法。在C1ass1類(lèi)的Main方法中完畢以下功能:1)從鍵盤(pán)上依次輸入三個(gè)學(xué)生的個(gè)人信息(學(xué)號(hào)、姓名、成績(jī))。2)記錄所有學(xué)生的人數(shù)、總成績(jī)和平均成績(jī)。3)打印學(xué)生們的個(gè)人信息及所有學(xué)生的人數(shù)、總成績(jī)和平均成績(jī)。1、源代碼usingSystem;publicclassStudcnt(//字段privatestringnum;PrivaIestringname;privatedoublcscore;pub1icstaticintcount;pub1icstaticdoublcaddscore;pubIicstaticdoub1eaverage;〃方法publicStudent()(count++;)publicvoidPrintin()Console.WriteLine("請(qǐng)輸入一位同學(xué)的信息Console.WriteLine("學(xué)號(hào)丁');num=Console.ReadLine();Conso1e.WriteLinc("姓名:");name=Conso1e.ReadLine();Conso1e.WriteLine("成績(jī):");score=Convert.TdDouble(Console.ReadLine());addscore+=score;)publicstaticvoidAverageO(average=addscore/count;)publicvoidPrint1()(Console.WriteLine("學(xué)號(hào):{0},姓名{1},成績(jī){2}”,num,name,score);)publics(aticvoidPrint2()(Conso1c.WritcLinc("輸入的學(xué)生總?cè)藬?shù)為:{0}",counl);Console.WrileLine("同學(xué)們的總成績(jī)?yōu)?{0}”,addscore);Console.WriteLine("同學(xué)們的平均成績(jī)?yōu)?{0}",average);}1icclassclass1publiestaticvoidMain()ConsoIe.WriteLine("在本信息記錄中,性別男為Q,女為N");Studcntstudent1=newSludent();studentl.PrintlnO;Studcntstudent2=newStudcnt();student2.Println();Studentstudent3=newStudent():sludcnt3.Println();Student.Average();Console.WriteLine("同學(xué)們的信息為:");student1.Print1();studcnt2.Print1();student3.Printl():Student.Print2();//是否可以建立類(lèi)數(shù)組?2、關(guān)鍵代碼解釋有關(guān)關(guān)鍵代碼的解釋后面的實(shí)驗(yàn)都直接寫(xiě)在代碼的〃備注里了。3、實(shí)驗(yàn)結(jié)果國(guó)I售理員:VisualStudio2005命令提示庇本信息記錄中,性別男為Q,女為N請(qǐng)輸入一位同學(xué)的信息:學(xué)號(hào):14287Q姓名:紅成績(jī):88請(qǐng)輸入一位同學(xué)的信息:學(xué)號(hào):142871姓名:藍(lán)成績(jī):99用輸入一位同學(xué)的信息:學(xué)號(hào):142872姓名:同學(xué)們的信息為:學(xué)號(hào):14287%姓名紅,成績(jī)88學(xué)號(hào):142871,姓名藍(lán),成績(jī)99學(xué)號(hào):142872,姓名黃,成績(jī)6。輸入的學(xué)生總?cè)藬?shù)為:3同學(xué)們的總成績(jī)?yōu)椋?47同學(xué)們的平均成績(jī)?yōu)椋?2.3333333333333e:\US2?05\安裝\UC)4、實(shí)驗(yàn)總結(jié):學(xué)會(huì)了在readline里面使用類(lèi)型轉(zhuǎn)換。認(rèn)為也許可以使用類(lèi)的數(shù)組來(lái)定義這三個(gè)學(xué)生,但沒(méi)有實(shí)現(xiàn)。實(shí)驗(yàn)二繼承與多態(tài)編程一、實(shí)驗(yàn)?zāi)康募耙?guī)定【實(shí)驗(yàn)?zāi)康摹?理解繼承的含義,掌握派生類(lèi)的定義方法和實(shí)現(xiàn);.理解虛函數(shù)在類(lèi)的繼承層次中的作用,虛函數(shù)的引入對(duì)程序運(yùn)營(yíng)時(shí)的影響,可以對(duì)使用虛函數(shù)的簡(jiǎn)樸程序?qū)懗龀绦蚪Y(jié)果。.編寫(xiě)體現(xiàn)類(lèi)的繼承性(成員變顯,成員方法,成員變量隱藏)的程序;.編寫(xiě)體現(xiàn)類(lèi)多態(tài)性(成員方法重載,構(gòu)造方法重載)的程序?!緦?shí)驗(yàn)規(guī)定】.寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果。.整理上機(jī)環(huán)節(jié),總結(jié)經(jīng)驗(yàn)和體會(huì)。.完畢實(shí)驗(yàn)日記和上交程序。二、實(shí)驗(yàn)環(huán)境Windows7操作系統(tǒng),VisualStudio2023及以上版本三、實(shí)驗(yàn)內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)營(yíng)結(jié)果、實(shí)驗(yàn)總結(jié))【實(shí)驗(yàn)1-2-1】創(chuàng)建一個(gè)描述圖書(shū)信息的類(lèi)并測(cè)試。類(lèi)中應(yīng)保存有圖書(shū)的書(shū)號(hào)、標(biāo)題、作者、出版社、價(jià)格等信息。)定義圖書(shū)類(lèi)Book,Book類(lèi)中包含isbn(書(shū)號(hào))、title(標(biāo)題)、author(作者)、press(出版社)、pricc(價(jià)格)等私有字段。由于對(duì)一本書(shū)來(lái)說(shuō),書(shū)號(hào)是唯一的,因此,isbn字段應(yīng)聲明為只讀的。)為Book類(lèi)中的每個(gè)字段定義相應(yīng)的屬性,由于isbn字段只讀的,其相應(yīng)屬性也應(yīng)當(dāng)是只讀的。3)為Bo。k類(lèi)定義兩個(gè)構(gòu)造函數(shù),其中,一個(gè)構(gòu)造函數(shù)將所有字段都初始化為用戶(hù)指定的值,另一個(gè)構(gòu)造函數(shù)只規(guī)定用戶(hù)指定有關(guān)書(shū)號(hào)的信息,它將調(diào)用上?個(gè)構(gòu)造函數(shù)初始化對(duì)象,初始化時(shí),價(jià)格取0,除書(shū)號(hào)的其他信息取“未知”。4)為Book類(lèi)定義方法Show,Show方法用于顯示圖書(shū)的所有信息。5)編寫(xiě)Main方法測(cè)試Book類(lèi),Main方法中分別使用上述兩個(gè)構(gòu)造函數(shù)創(chuàng)建B。。k對(duì)象。1、源代碼usingSystem;publicclassBook{//定義私有字段privatereadon1ystringisbn;privatestringtitle;privatestringauthor;privatestringpress:privatedoubleprice;//定義屬性publicstringIsbn(get(returnisbn:))publicstringTit1e(getreturntitle;setTit1e=va1ue;)}publiestringAuthor(get(returnauthor;)set{Author=va1ue;)}publicstringPress(get(returnpress;Press實(shí)驗(yàn)一類(lèi)和對(duì)象編程一、實(shí)驗(yàn)?zāi)康募耙?guī)定【實(shí)驗(yàn)?zāi)康摹?如何創(chuàng)建類(lèi)和對(duì)象。.如何為定義的類(lèi)編寫(xiě)相應(yīng)的方法。.如何通過(guò)屬性訪(fǎng)問(wèn)對(duì)象中的數(shù)據(jù)【實(shí)驗(yàn)規(guī)定】.寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果。.整理上機(jī)環(huán)節(jié),總結(jié)經(jīng)驗(yàn)和體會(huì)。.完畢實(shí)驗(yàn)日記和上交程序。二、實(shí)驗(yàn)環(huán)境Windows7操作系統(tǒng),Visua1Studio2023及以上版本三、實(shí)驗(yàn)內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)營(yíng)結(jié)果、實(shí)驗(yàn)總結(jié))【實(shí)驗(yàn)1一1?。編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,定義并使用一個(gè)時(shí)間類(lèi),該類(lèi)包含時(shí)、分、秒字段與屬性,具有將時(shí)間增長(zhǎng)1秒、1分和1小時(shí)的方法,具有分別顯示時(shí)、分、秒和同時(shí)顯示時(shí)分秒的方法。1、源代碼:usingSystem:pubIicclassTime(〃字段privalcinthour;pubIicdoubiePrice(get(returnprice;)set(Price=value;}}//定義構(gòu)造函數(shù)doubieprice)doubieprice)doubieprice)publicBook(stringisbn,stringtit1e,stringauthor,stringpress,(this.isbdoubieprice)this.titlc=titlc;this.author=author;this.prcss=press;this.price=price;)//繼承第一個(gè)構(gòu)造函數(shù)publicBook(stringisbn):this(isbn,"未知"J未知","未知",0)(}publicvoidShow()Console.WriteLine("這本書(shū)的信息如F:M);Conso1e.WriteLine<,r書(shū)號(hào):{0}'\i$bn);Conso1e.WriieLine("標(biāo)題:{0}",tide):Conso1e.WriteLinef'作者:{0}",author);Console.WriteLine("出版社:{0}",press):Console.WriteLine("價(jià)格:{0}”,price);))classBookTest(publicstaticvoidMain()(Console.WriteLine("請(qǐng)按<行>依次輸入第一個(gè)書(shū)本信息,依次為書(shū)號(hào),標(biāo)題,作者,出版社.價(jià)格");Bookbookl=newBook(Convert.ToString(Console.ReadLine()),Convert.ToString(Conso1e.ReadLine()),Convert.ToString(Conso1e.ReadLine()),Convert.ToString(Console.ReacILine()),Convert.TbDoub)e(Console.ReadLine())):book1.Show();Console.WriteLine("請(qǐng)輸入第二個(gè)書(shū)本的書(shū)號(hào)");Bookbook2=newBook(Convcrt.TbString(ConsoIc.ReadLine()));b0ok2.Show();))2、實(shí)驗(yàn)結(jié)果

SSvisualStudio2005命令徨示e、US2005\安裝\UC〉sy1-2-1請(qǐng)按<行>依次輸入第一個(gè)書(shū)本信息,依次為書(shū)號(hào),標(biāo)題,作者,出版社,價(jià)格001.net清華大學(xué)出版社100這本書(shū)的信息如下:書(shū)號(hào):001標(biāo)鹿:.net清華大學(xué)出版社100這本書(shū)的信息如下:書(shū)號(hào):001標(biāo)鹿:.net作者:師碩出版社:清華大學(xué)出版社價(jià)格:10。請(qǐng)輸入第二個(gè)書(shū)本的書(shū)號(hào)002這本書(shū)的信息如下:書(shū)號(hào):002標(biāo)題:未知作者:未知出版社:未知價(jià)格:0半:3、實(shí)驗(yàn)總結(jié):學(xué)會(huì)了用構(gòu)造函數(shù)繼承構(gòu)造函數(shù),此外通過(guò)查閱還明白了this指針可以代替對(duì)象來(lái)調(diào)用對(duì)象的字段。還實(shí)踐了可以在構(gòu)造函數(shù)調(diào)用時(shí)調(diào)用輸入函數(shù)?!緦?shí)驗(yàn)1—2一21編寫(xiě)一個(gè)程序計(jì)算出球、圓柱和圓錐的表面積和體積。1)定義一個(gè)基類(lèi)圓,至少具有一個(gè)數(shù)據(jù)成員:半徑;2)定義基類(lèi)的派生類(lèi):球、圓柱、圓錐,都具有求體積函數(shù),可以都在構(gòu)造函數(shù)中實(shí)現(xiàn),也可以將求體積和輸出寫(xiě)在一個(gè)函數(shù)中,或者寫(xiě)在兩個(gè)函數(shù)中,請(qǐng)比較使用。3)定義主函數(shù),求球、圓柱、圓錐的和體積。3、設(shè)計(jì)一個(gè)圖書(shū)卡片類(lèi)Card,用來(lái)保存圖書(shū)館卡片分類(lèi)記錄。D這個(gè)類(lèi)的成員涉及書(shū)名、作者、館藏?cái)?shù)量。2)至少提供兩個(gè)方法,store書(shū)的入庫(kù)解決,show顯示圖書(shū)信息。3)程序運(yùn)營(yíng)時(shí),可以從控制臺(tái)上輸入需要入庫(kù)圖書(shū)的總量,根據(jù)這個(gè)總數(shù)創(chuàng)建Card對(duì)象數(shù)組,然后輸入數(shù)據(jù)。4)可以選擇按書(shū)名、作者、入庫(kù)量進(jìn)行排序。1、源代碼11singSystem;pub1icclassCircle//定義基類(lèi)圓{protecteddoubleR:publicconstdoub1eP1=3.14;)〃定義繼承類(lèi)球,繼承圓publicclassBall:Circ1e{〃定義表面積、體積字段protecteddouhleVol;protecteddoubleArea;〃構(gòu)造函數(shù)pub1icBall(doubler){R=r;)〃求表面積和體積的方法。采用先求表面積和體積再輸出publicd0ubleGetArea()Area=4*PI*R*R;returnArea;)publiedoubIeGetVol()]Vo1=(4.0/3.0)*PI*R*R*R;returnVo1;)pubIicvoidPrint(){Conso1c.WriieLinc("球的表面積為:{0}”,Area);Console.WriteLine("球的體積為:{0}",Vo1);))〃定義繼承類(lèi)圓柱,繼承I戲比較兩種輸出體積的方法(圓錐采用不繼承圓,直接繼承圓柱的做法)publicc1assCy1:Circle(〃定義表面積、體積字段protecteddoubleVbl;protecleddoublcArea;protecteddoubleh;〃構(gòu)造函數(shù)publieCy1(){}publicCyl(doubler,doub1eh)R=r;this.h=h://采用直接輸出體積和表面積publicvirtualvoidGetAreaO{Area=h*2*PI*R+2*PI*R*R;Console.WriteLine("圓柱的表面積為:{0}".Area);)pub1icvirtua1voidGetVo1(){Vol=h*PI*R*R;Conso1e.WriteLine("圓柱的體積為:{0}'\Vol);))publicclassCone:CyI(〃字段已經(jīng)定義,構(gòu)造函數(shù)不繼承publicCone(doubler,doublch)(R=r;this.h=h;)〃重寫(xiě)基類(lèi)中的表面積、體積函數(shù)publicoverridevoidGetArea()Area=PI*R*R+0.5*2*PI*R*Syslem.Math.Sqrt(R*R+h*h);Consolc.WriteLine("圓錐的表面積為:{0}",Area):}publieoverridevoidGetVol()(Vol=(1.0/3.())*h*PI*R*R;Console.WriteLine("圓錐的體積為:{0}';Vol);)Ic1assText(publicstaticvoidMain()(Conso1e.WriteLine("請(qǐng)輸入球的半徑:");doubIecount=Convert.ToDoub1e(Console.ReadLine());Ba11ba1I=newBall(count):doubieA=ball.GetArea();doubIeV=ba1I.GetVol();ball.Prinl():Console.WriteLine("請(qǐng)按布’依次輸入圓柱的半徑、高");CylcyI=newCyl(Convcrt.ToDoub1c(Consolc.RcadLine()),Convert.TbDoubIe(ConsoIe.ReadLine()));cy1.GctArcaO;cy1.GetVo1();〃相比較兩種輸出方法,直接輸出法更簡(jiǎn)樸。Console.WriteLine("請(qǐng)按行'依次輸入圓錐的半徑、高");Conecone=newCone(Convert.T0D0ub1e(Console.ReadLine。),Convert.ToDouble(Console.ReadLine()));cone.GetArea();cone,GetVol();)2、實(shí)驗(yàn)結(jié)果e:\US2005\安裝\UC>sy1-2-2請(qǐng)輸入球的半徑:2球的表面積為:50.24球的體積為:33.4933333333333請(qǐng)按‘行’依次輸入圓柱的半徑、高33回柱的表面積為:“3.04圓柱的體積為:84.78請(qǐng)按,行,依次輸入圓錐的半徑、高44利錐的表面積為:121.290089373624回錐的體積為:66.98666666666673、實(shí)驗(yàn)總結(jié)在計(jì)算圓錐表面積時(shí)學(xué)會(huì)了System.Math.Sqrt()的使用方法沒(méi)有采用”0“個(gè)參數(shù)的重載:說(shuō)明參數(shù)不能為空,錯(cuò)誤出在把Convert.ToDoub1e(Conso1e.ReadLine())括號(hào)里和括號(hào)外的內(nèi)容寫(xiě)反了此外很粗心在WriteLine里{}里面忘掉加0,編譯沒(méi)犯錯(cuò)但拋出了異常,又找了半天才修改好。。【實(shí)驗(yàn)1-2一3】設(shè)計(jì)一個(gè)圖書(shū)卡片類(lèi)Card,用來(lái)保存圖書(shū)館卡片分類(lèi)記錄。1)這個(gè)類(lèi)的成員涉及書(shū)名、作者、館藏?cái)?shù)量。2)至少提供兩個(gè)方法,store書(shū)的入庫(kù)解決,show顯示圖書(shū)信息。3)程序運(yùn)營(yíng)時(shí),可以從控制臺(tái)上輸入需要入庫(kù)圖書(shū)的總量,根據(jù)這個(gè)總數(shù)創(chuàng)建Card對(duì)象數(shù)組,然后輸入數(shù)據(jù)。4)可以選擇按書(shū)名、作者、入庫(kù)量進(jìn)行排序。1、源程序usingSystem:publieclassLibrary(publicstaticintNum=O;publicstaticvoidShow()(Num);Console.WriteLine("圖書(shū)館共入庫(kù)了{0}本書(shū)”,)Num);publicclassCard(privatestringname;pub1icstringName(getprivatestringauthor;publiestringAuthor{get{returnauthor;))privateintnum=0;publicintNum(get(returnnum;)1publicvoidStore()(Console,WriteLine("輸入要入庫(kù)的書(shū)信息,涉及書(shū)名、作者、入庫(kù)量"):this,name=Convcrt.TbString(ConsoIe.RcadLinc());this.author=Convert.ToString(Consoie.ReadLine());this.num=Convert.ToInt32(Console.ReadLineQ);Library.Num+=num:privateintminite;Privaleintsecond:〃屬性publieintHour(get{relurnhour;)set{hour=value;})publicintMinite(get(returnminite;)set(minite=value;}publicvoidShow()Console.WriteLine<"圖書(shū)信息如下[');Console.WriteLine("書(shū)名:{0},作者:{1},館藏?cái)?shù)量{2}",name,author,num);)IpublicclassText(publicstaticvoidMain()(inti;Cardtemp:Card[Jcard=newCard[3];for(i=0;i<3;i++)(caid[i]=newCard。;//學(xué)會(huì)了定義對(duì)象的數(shù)組,應(yīng)當(dāng)先創(chuàng)建數(shù)組,再依次對(duì)里面的所布成員進(jìn)行創(chuàng)建。card[i].Store();)Library.Show():Console.WriteLine("請(qǐng)選擇按什么排序:、書(shū)名2、作者3、存庫(kù)量");inta=Convert.Tblnt32(Console.ReadLine());switch(a)caseI:Console.WrileLine("按書(shū)名從小到大排序");for(i=0;i<2;i++){tor(intj=i;j<3;j++)(if(string.Compare(card[i].Name,card[j].Name)>0)(temp=card[i];card[i]=card[i+1]:card[i+1)=temp;)})for(i=0;i<3;i++){card(i].Show();))break;case2:{ConsoIe.WriteLine("按作者從小到大排序"):for(i=0:i<2;i++)for(intj=i;j<3;j++)if(string.Compare(card[iJ.Author,cardlj].Author)>())//學(xué)會(huì)了比較函數(shù)的使用temp=card[i]:card[i]=card[i+1];

card[i+l]=temp;I))for(i=0;i<3;i++)(card[iJ.ShowO;))break;case3:(Console.WriteLine("按存庫(kù)量從小到大排序");for(i=0;i<2;i++){fbr(inlj=i;j<3;j++)(if(card[i].Num-card[j].Num>0)(temp=card[i];card[ij=card|i+1J;cardIi+1]=temp;))}for(i=0;i<3;i++){card[i].Show();}}break;defau1t:Conso1e.WriicLine("輸入錯(cuò)誤。break;)))2、實(shí)驗(yàn)結(jié)果(實(shí)驗(yàn)結(jié)果檢測(cè)時(shí)選擇了用2號(hào)■按作者從小到大排序)Q3M理員:VisualStudio2005余會(huì)繩示輸入要入庫(kù)的書(shū)信息,包括書(shū)名、作者、入庫(kù)量書(shū)111小紅纂入要入庫(kù)的書(shū)信息,包括書(shū)名、作者、入庫(kù)量書(shū)2222、蘭輸入要入庫(kù)的書(shū)信息,包括書(shū)名、作者、入庫(kù)量書(shū)333小白圖書(shū)館共入庫(kù)了12本書(shū)請(qǐng)選擇按什么排序:1、書(shū)名2、作者3、存庫(kù)量3作者從小到大排序小蘭,小白,小紅,館藏?cái)?shù)量5館藏?cái)?shù)量4館藏?cái)?shù)量3小蘭,小白,小紅,館藏?cái)?shù)量5館藏?cái)?shù)量4館藏?cái)?shù)量3。:\US2005\安裝\UC>半:3、實(shí)驗(yàn)總結(jié)學(xué)會(huì)了定義對(duì)象的數(shù)組,應(yīng)當(dāng)先創(chuàng)建數(shù)組.再依次對(duì)里面的所有成員進(jìn)行創(chuàng)建。通過(guò)查閱學(xué)會(huì)r比較函數(shù)的使用。類(lèi)的多態(tài)性練習(xí)【實(shí)驗(yàn)1-2-4]設(shè)計(jì)雇員系統(tǒng)。1)定義雇員基類(lèi),共同的屬性,姓名、地址和出生日期;2)派生類(lèi):程序員,秘書(shū),高層管理,清潔工,他們有不同的工資算法,其中高級(jí)主管和程序員采用底薪加提成的方式,高級(jí)主管和程序員的底薪分別是5000元和2023元,秘書(shū)和清潔工采用工資的方式,工資分別是3000和1000,以多態(tài)的方式解決程序。1、源代碼usingSysicm;pub1icclassEmployee1privatestringname;〃定義雇員基類(lèi)的姓名、地址、出生日期、底薪、提成以及其屬性?!▽傩詾榭勺x可寫(xiě),實(shí)驗(yàn)結(jié)果中為了簡(jiǎn)練沒(méi)有調(diào)用姓名地址出生日期等,但是調(diào)用了底薪、提成及其屬性以體現(xiàn)多態(tài)。publicstringNanie(get(returnname;)set(name=va1ue;))stringaddress:publicstringAddressIget(returnaddress;setaddress=valuc;))stringbirth;publicstringBirth(get(returnbirth:)set(birth=value;))doublesalary;〃底薪pub1icvirtua1doubleSalary(get(retumsalary;)setsalary=vaIue;doubietichengW提成pub1icvirtua1doubIeTicheng(get(returnticheng;}set(ticheng=vaIue:)}Pub1icvirtuaIvoidSumSalary(){)〃工資算法不同,所以定義虛函數(shù)工資計(jì)算方法publicvirtualvoidShow(){}〃工資輸出名稱(chēng)不同,所以定義了可重寫(xiě)的打印方法publicclassProgrammer:Emp1oyee//程序員,繼承雇員基類(lèi)(publicProgranimer()(Salary=2023:Console.WriteLine("請(qǐng)輸入程序員提成)Ticheng=ConverI.ToDoub1e(Console.ReadLine());publicoverridevoidSumSaIary()//重寫(xiě)工資計(jì)算方法,下面幾個(gè)類(lèi)同Sa1ary+=Ticheng;)pub1icoverridevoidShow()〃重寫(xiě)打印方法(Conso1e.WriteLine("程序員的總工資是{0}",Salary);)■PublieclassManager:Employee//主管高層,繼承雇員基類(lèi)publicManager()(Salary=5000;Console.WriteLinc("請(qǐng)輸入主管高層提成"):Ticheng=Convert.ToDouble(Console.ReadLine());)pub1icoverridevoidSumSa1aiy()(Salary+=Ticheng;)publicoverridevoidShow()Console.WriteLine("主管高層總工資是{0}",Salary);pub1icc1assSec:Emp1oyee//秘書(shū),繼承雇員基類(lèi)publieSec()Salary=3000;pub1icoverridevoidShow()Conso1c.WritcLine("秘書(shū)總工資是{0)".this.Sa1ary);publicclassCleaner:Employee//清潔工,繼承雇員基類(lèi)publicCleaner()Salary=l()OO;pubIicoverridevoidShow()Conso1e.WriteLine("清潔工總工資是(0)"?this.Sa1ary);publicintSecondget(returnsecond;}set(second=value;//方法〃加時(shí)方法PublicvoidSAdd()(second++;if(second>60)(minite++;second=second%60;)if(minitc>60){hour++;minite=minite%60;classTcxtpub1icstaticvoidMain()Programmerpro=newProgrammer。;//輸入提成等,進(jìn)行總工資輸出,PS:為了簡(jiǎn)樸就沒(méi)有輸出姓名等pro.SumSalary();pro.Show():Managerman=newManager();man.SumSaIary():man.Show();Secsec=newSec();scc.Show();Cleanercle=newCleaner();c1e.Show();2、實(shí)驗(yàn)結(jié)果e:\US2005\安裝\UC>sy1-2-4請(qǐng)輸入程序員提成一102程序員的總工資是2102請(qǐng)輸入主管高層提成299主管高層總工資是5299秘書(shū)總工資是300。清潔工總工資是100。0:\心2。05\安裝\3>3、實(shí)驗(yàn)總結(jié)使用virtual時(shí)下面實(shí)現(xiàn)多態(tài)要再次使用。verride才干重寫(xiě),這里做實(shí)驗(yàn)時(shí)出了一些問(wèn)題。此外在其他類(lèi)中調(diào)用了基類(lèi)的屬性,想到屬性也可以重寫(xiě),以后有空再拓展一下。實(shí)驗(yàn)三接口編程【實(shí)驗(yàn)?zāi)康摹?.了解什么是接口,接口和抽象類(lèi)的異同,掌握接口的方法實(shí)現(xiàn),接口方法的重定義?!緦?shí)驗(yàn)規(guī)定】寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果。整理上機(jī)環(huán)節(jié),總結(jié)經(jīng)驗(yàn)和體會(huì)。完畢實(shí)驗(yàn)日記和上交程序?!緦?shí)驗(yàn)內(nèi)容】分析實(shí)現(xiàn)接口的程序文獻(xiàn)分析以下實(shí)現(xiàn)接口的程序文獻(xiàn)并問(wèn)答問(wèn)題:本程序中的接口包含方法的構(gòu)成是哪些?CompelreTo(IComparablecomp)實(shí)現(xiàn)接口的類(lèi)包含哪些元素?privateuinttotaISeconds;publieTimeSpan()publicTimeSpan(uiniinitialSeconds)publicuintSccondspublicintCompareTo(IComparablecomp)類(lèi)實(shí)現(xiàn)接口方法的參數(shù)如何變換實(shí)現(xiàn)的?publicintCompareTo(IComparablccomp)TimeSpancompareTime=(TimeSpan)comp;if(tota1Seconds>compareTime.Seconds)returnI;elseif(compareTime.Seconds==totaISeconds)return0;elsereturn-1;)?給出程序的輸出結(jié)果Ie:\US2@05\安裝\UC>sy3Ispentmoretimethantheworldrecordholder實(shí)驗(yàn)四委托編程【實(shí)驗(yàn)?zāi)康摹苛私馕械母拍?,掌握委托的使用;【?shí)驗(yàn)規(guī)定】.理解委托應(yīng)用的程序;.寫(xiě)出委托應(yīng)用程序;.調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果。.整理上機(jī)環(huán)節(jié),總結(jié)經(jīng)驗(yàn)和體會(huì)。.完畢實(shí)驗(yàn)日記和上交程序?!緦?shí)驗(yàn)內(nèi)容】委托及其方法的實(shí)現(xiàn)程序程序功能:定義一個(gè)具有兩個(gè)整型參數(shù)名叫Calculation返回類(lèi)型為double的委托,分別實(shí)現(xiàn)兩個(gè)匹配的求和、求平均值的方法,并在主函數(shù)中測(cè)試它。1、源代碼usingSystem;publicdelegatedoubleCalculation(doublem,doub1en);〃定義一個(gè)委托類(lèi)型〃分別實(shí)現(xiàn)兩個(gè)匹配的求和、求平均值的方法,并在主函數(shù)中測(cè)試它。classTest(publicdoublcplus(doublem,doublen)(doubleval=m+n;returnval;)Publicdoubleaver(doublem,doub1en)(doub1ea=((m+n)/2);retuma;classTesterpubliestaticvoidMain(){Tes11=newTest();CalculationcaII=newCalculation(t.p1us);Console.WriteLine("兩數(shù)之和為:"+cal1(5.0,6.0));Calculationcal2=newCa1culation(t.aver);Console.WriteLine("兩數(shù)的平均值為:"+cal2(5.0,6.0));Console.ReadKey(true);})2、實(shí)驗(yàn)結(jié)果e:\US2005\安裝\UC>sy4兩數(shù)之和為:11兩數(shù)的平均值為:5.5實(shí)驗(yàn)五異常解決編程【實(shí)驗(yàn)?zāi)康摹?、理解什么是異常及異常也許產(chǎn)生的因素;2、掌握異常拋出和捕獲語(yǔ)句;3、理解專(zhuān)有catch塊的使用;【實(shí)驗(yàn)規(guī)定】.調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果。.整理上機(jī)環(huán)節(jié),總結(jié)經(jīng)驗(yàn)和體會(huì)。.完畢實(shí)驗(yàn)日記和上交程序。【實(shí)驗(yàn)內(nèi)容】異常解決設(shè)計(jì)類(lèi),實(shí)現(xiàn)異常解決。1)建立一個(gè)名字為Meteorologist的類(lèi),其中具有一個(gè)12個(gè)int類(lèi)型元素的數(shù)組rainfa11,通過(guò)構(gòu)造函數(shù)給賦值;一個(gè)方法頭為pub1icintGetRainfal1(intindex),此方法返【可rainfall元素中與給定的index相應(yīng)的值,在GetRainfa11添加解決任何從GetRainfall方法中拋出的越界異常所需要的代碼。2)為讀取每月降雨從空中吸取并帶到地面的污染物,在類(lèi)中添加數(shù)組pollution,也包含12個(gè)元素,在構(gòu)造方法中賦任意值;在類(lèi)中編寫(xiě)另一個(gè)方法,頭為:pub1icintGetAveragePoHution(intindex),來(lái)計(jì)算給定月份單位降雨量中的污染物,例如,計(jì)算4月份單位降雨量所含污染物用以下計(jì)算來(lái)實(shí)現(xiàn):averagePo11ution=pol1utin[3]/rainfall[3];在此方法中實(shí)現(xiàn)解決異常的代碼。注意,此方法既可以?huà)伋鏊饕浇绠惓#部梢話(huà)伋霰?除異常。3)編寫(xiě)測(cè)試代碼。1、源代碼usingSystem;publicclassMeteoro1ogist[publicint[]rainfall;publicintflpo11ution=newinpublicdoubleaveragePollution;pub1icMeteorologist()//構(gòu)造函數(shù){rainfa11=newint[l<20,0,24,19,20,25,17,18,15,30,20,20);Conso1e.WriteLine("請(qǐng)輸入?月的污染物含量(單位ml)");for(inti=0;i<12;i++)(poliution[i]=Convert.ToInt32(Console.ReadLine());))publieintGetRainfal1(intindex)//返g|rainfal1元素中與給定得index相應(yīng)的值(try(returnrainfaII[index];)catch(IndexOutOfRangeException)(Consolc.WriteLine("數(shù)組下標(biāo)越界異常");return0;catch(FormatException)Console.WriteLine("數(shù)組下標(biāo)非數(shù)字異常");return0;)}pub1icin(GelAveragePollution(intindex)//計(jì)算給定月份單位降雨量中的污染物(try{averagePo11ution=pollution[index]/GeiRainfall(index);averagePollution=(doub1e)po1lution[index]/(double)GetRainfall(index);)catch(IndcxOutOfRangeException)]Console.WriteLine("數(shù)組下標(biāo)越界異常");)catch(DivideByZeroException){Conso1e.WriteLine("除數(shù)為零異常))stringk="n";Console.WriteLine(”已打開(kāi)Start文獻(xiàn),稍后請(qǐng)將其關(guān)閉!”);Console.ReadKey();Iop2:Conso1e.WriteLine("Start文獻(xiàn)仍在運(yùn)營(yíng)中,是否將其關(guān)閉(Y/N)?");k=Console.ReadLine();if(k=="y"|Ik=="Y")(Conso1e.WriteLine("ClosingWeatherXYZfi1e");gotolop1;}elsegotoIop2;1opl:Console.WriteLine("S〔ari文獻(xiàn)已經(jīng)關(guān)閉,程序?qū)⒗^續(xù)運(yùn)營(yíng))//輸出Conso1e.WriteLine("{0}月份單位降雨量所含污染物比例為:{1}%",index,average?oHution1c100);return0;1)publicclassTextpub1icstaticvoidMain(){intmon;Console,WriteLine("單位降雨量所含污染物比例計(jì)算");MeteorologistMt=newMeteorologist();Console.WriteLine("請(qǐng)輸入您所要計(jì)算的月份");mon=Convert.ToIn(32(Conso1e.ReadLine());

Mt.GetAveragePo1Iution(mon-1);)2、實(shí)驗(yàn)結(jié)果QB苣理員VisualStudio2005命令提示單位降雨量所含污染物百分比計(jì)算情輸入1?12月的污染物含量(單位ml)193344請(qǐng)輸入您所要計(jì)算的月份5已打開(kāi)Start文件,稍后請(qǐng)將其關(guān)閉!sStart文件仍在運(yùn)行中,是否將其關(guān)閉(Y/N)?卜ClosingIdeatherXYZfile3、Start文件已經(jīng)關(guān)閉,程序?qū)⒗^續(xù)運(yùn)行4月份單位降雨量所含污染物百分比為:3、if(hour>24)hour=hour%24;)}pub

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論