河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第1頁(yè)
河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第2頁(yè)
河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第3頁(yè)
河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第4頁(yè)
河北工業(yè)大學(xué).NET程序設(shè)計(jì)C#實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余41頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、C#、net實(shí)驗(yàn)報(bào)告姓名:1 42 8 71成績(jī):一、實(shí)驗(yàn)?zāi)康眉耙蟆緦?shí)驗(yàn)?zāi)康谩?、如何創(chuàng)建類與對(duì)象.2、如何為定義得類編寫(xiě)相應(yīng)得方法。3、如何通過(guò)屬性訪問(wèn)對(duì)象中得數(shù)據(jù)【實(shí)驗(yàn)要求】1、寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果2、整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)與體會(huì)。3、完成實(shí)驗(yàn)日志與上交程序。二、實(shí)驗(yàn)環(huán)境Win dows7操作系統(tǒng)Visual Studio 2005及以上版本三、實(shí)驗(yàn)內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)行結(jié)果、實(shí)驗(yàn)總結(jié))【實(shí)驗(yàn)1-11】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,定義并使用一個(gè)時(shí)間類間增加1秒、1分與1小時(shí)得方法,具有分別顯示時(shí)、分、秒與同時(shí)顯示時(shí)分秒得方法1、源代碼:us1ngSy

2、stem;publ1cclass Time字段pr1vate int hour;private intm實(shí)驗(yàn)名稱:日期:20 16/0 4 /24面向?qū)ο缶幊掏蹊磳W(xué)號(hào):實(shí)驗(yàn)類與對(duì)象編程,該類包含時(shí)、分、秒字段與屬性,具有將時(shí)inite;private int second;/屬性pub1ic intHourpublicintMinitegetreturnminite;setnite=va1ue;geteturnsecond;setsecond=value;/方法/加時(shí)方法pub1ic void SAdd()second+;minite+;second=second%6 0;if(minite6

3、0)getreturn hour;sehour=Value;if(second60)blint Secondhou葉 + ;minite=minite%60;if(hour24)hour=hour%24;nite+;hour+;minite=minite%60;hour24)hour=hour%24;if(hour24)hour=hour%24;/輸出方法pub1icvoid HPrint()Console、WriteLine(現(xiàn)在時(shí)為:0 ,hour);publicvoid MPrint()Console、WriteLine(現(xiàn)在分為:0,minite);publicVold SPrint(

4、)Console、WriteLine(現(xiàn)在秒為:0,second);pub1ic vo1d HAdd()hour+;publicvoidMAdd()if(minite60)hou葉 + ;publicvoid TimePrint()Console WriteLine(得出準(zhǔn)確時(shí)間為:0時(shí)1分2秒,hour,minite,second);/主函數(shù)me();teL1ne(獲取系統(tǒng)時(shí)間中、-);time、Hour=DateTime、Now、Hour;time、Minite=DateTime、Now、Minute; /剛剛發(fā)現(xiàn)前面得minute全寫(xiě)成 minute了、英語(yǔ)不太、time、Second=

5、DateTime、Now、Second;time、TimePrint();Console、WriteLine(現(xiàn)在加一秒功能:);time、SAdd();time、T1mePrint();Console、WriteLine(現(xiàn)在加一分功能:);time、MAdd();time、TimePrint();Console、WriteLine(”現(xiàn)在加一時(shí)功能:);time、HAdd();t1me、Time Print。;Console、WriteLine(現(xiàn)在依次調(diào)用三個(gè)方法輸出時(shí)分秒:”;time、HPrint();time、MPrint();time、SPrint();25時(shí)為25%24=1,即

6、1時(shí);另外還要注意秒得增加帶給分、時(shí)得影響等。2)加時(shí)功能直接使用time+,并注意判斷對(duì)其她時(shí)間得影響pub1icclassTextpub1icstaticvoidMain()Time time= newConsole、Wri2、關(guān)鍵代碼解釋:1)時(shí)鐘循環(huán)需要取模運(yùn)算,如第3)獲取時(shí)間采用了DataTime里得函數(shù),直接獲取系統(tǒng)時(shí)間。3、運(yùn)行結(jié)果0 0: : US2EI0SUS2EI0S安裝、忙實(shí)驗(yàn)1 1 - -1 1獲取系統(tǒng)時(shí)冋中得出眶確時(shí)為門(mén)6 6時(shí)1818分T T秒現(xiàn)在加一秒功能:得出岸確時(shí)間為;1$1$時(shí)11 8 8幷8 8秒現(xiàn)在加=專功能:得出范確時(shí)阿為門(mén)6 6時(shí)1919分8 8秒

7、現(xiàn)在加一B B、功能:得出腹確H H問(wèn)為;和時(shí)1919分8 8秒b b在依次調(diào)衽三個(gè)方法輸岀時(shí)分秒;k k見(jiàn)在時(shí)為:1717現(xiàn)在分:319319現(xiàn)在杪為洱4、實(shí)驗(yàn)總結(jié)結(jié)合實(shí)踐明白了屬性得用法與含義,并且通過(guò)百度了解了怎么從系統(tǒng)中讀取現(xiàn)在得時(shí)間?!緦?shí)驗(yàn)112】編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,程序中有兩個(gè)類定義,一個(gè)就是創(chuàng)建程序時(shí)系統(tǒng)自動(dòng)創(chuàng)建得類 C一個(gè)就是用戶自定義得Student類,要求該類包含私有字段:學(xué)號(hào)(字符串)姓名(字符串)與性別(字符),具 有三個(gè)屬性:學(xué)號(hào)(讀寫(xiě))、姓名(只讀)、性別(讀寫(xiě)),具有有參構(gòu)造方法、具有同時(shí)顯示學(xué)生個(gè) 人信息得方法。在CIaSsi 中完成以下功能:1)從鍵盤(pán)上輸

8、入一個(gè)學(xué)生得個(gè)人信息(學(xué)號(hào)、姓名、性別)。2)修改該學(xué)生得學(xué)號(hào)與性別.3)打印修改前后該學(xué)生得個(gè)人信息。1、源代碼usingSystem;public classStudent/字段privatestring num;private string name; p rivate charsex;priVate stringoldnum;private char oldsex;/屬性public stringNumgetreturn num;setlassi,num=value;num=Console、ReadLine(); Conso1e WriteLine(”姓名);name=Console

9、、ReadL1ne();Console、WriteLine(性別);sex=Convert、ToChar( Conso1e、ReadLine();publicVoid Revise()Conso1e、WriteLine( ”請(qǐng)對(duì)輸入得學(xué)號(hào)重新進(jìn)行編輯:);o1dnum=num;num = Console、ReadLine();publicstring Namegetreturn name;setname=Va1 ue;ubl1c char Sexgetreturn sex;seX=va1ue;方法public Studet(string c,stringn,chars)num=name=n;s

10、ex=s;public voidPrintIn()Conso1e、WriteL 1 ne(學(xué)號(hào));Console、WriteLine(”請(qǐng)對(duì)輸入得性別重新進(jìn)行編輯:); oldsex=sex;sex =Convert、ToChar(Console、ReadLine();ub1ic void PrintOut()Console、WriteLine(修改前得信息為:學(xué)號(hào):0,姓名:1,性別:2 ,o1dnum,name,oldsex);Console、WriteLine(修改后得信息為:學(xué)號(hào):0,姓名:1,性別:2,num,name,sex);p ub1ic static void Main()s

11、tudent1、Revise();student1、PrintOut();publicclass c1ass 1Conso1e、Studentstudent!WriteLine(在本信息中男為Q女為N);student1 =new Student(”12”,王蘭”,PrintIn();N);2、關(guān)鍵代碼解釋1) 為了能同時(shí)輸出修改前修改后得名稱,引入了字段dnum,oldsex,將修改前得傳給這兩個(gè)值并將新值覆蓋原字段num與sex.3、實(shí)驗(yàn)結(jié)果:9; ;VS20Q5gVS20Q5g裝比;實(shí)殮1 1 -2-2在木信a a中男為Q Q女為N N學(xué)號(hào)142871142871姓名王璐性別N N請(qǐng)對(duì)輸

12、入的學(xué)號(hào)重新進(jìn)行編輯L L142870142870請(qǐng)對(duì)輸入的性別重新進(jìn)行編輯:Q Q修改前的信息為:學(xué)號(hào):142ST1.142ST1.姓名: 修改后的信息為;學(xué)號(hào);142270,142270,姓名:王璐,王璐,孝別:N N哇別;Q Q4、實(shí)驗(yàn)分析:雖然設(shè)置了屬性,但沒(méi)用實(shí)際用到, 感覺(jué)可能沒(méi)有編好。另外為了滿足第3個(gè)實(shí)驗(yàn)條件,同時(shí)輸出,所以引入了新字段,不知道就是否符合要求。Clas【實(shí)驗(yàn)1-1-3】:學(xué)號(hào)(字符串)、姓名(字符串)、 成績(jī)(double)以及私有靜態(tài)字段:學(xué)生人數(shù)、學(xué)生總成績(jī)、學(xué)生平均成績(jī),具有有參構(gòu)造方法、 顯示學(xué)生個(gè)人信息得公有實(shí)例方法與顯示學(xué)生人數(shù)、總成績(jī)及平均成績(jī)得公

13、有靜態(tài)方法。在C1ass1類得Main方法中完成以下功能:從鍵盤(pán)上依次輸入三個(gè)學(xué)生得個(gè)人信息(學(xué)號(hào)、姓名、成績(jī)).統(tǒng)計(jì)全部學(xué)生得人數(shù)、總成績(jī)與平均成績(jī).打印學(xué)生們得個(gè)人信息及全部學(xué)生得人數(shù)、總成績(jī)與平均成績(jī)。源代碼usingSystem;public class Student/字段private stringnum;private string name;prlvatedoublescore;pub1ic stat ic lnt count;publicstatlc doubleaddscore;public static doub1eaverage;/方法publicStudent()co

14、unt+;Console、WriteLine(請(qǐng)輸入一位同學(xué)得信息:);Console、WriteLine(學(xué)號(hào):”Console、ReadLine();Console、WriteLine(姓名:);name = Console、ReadLine();Console、WriteLine(成績(jī):”;score =Convert、ToDoub1e(Console、ReadLine();addscore += score;public static void Average()average= addscore / count;編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,程序中有兩個(gè)類定義,一個(gè)就是創(chuàng)建程序時(shí)系統(tǒng)自動(dòng)創(chuàng)

15、建得類S1,個(gè)就是用戶自定義得student類,要求該類包含私有實(shí)例字段1)2)3)publicVoid Println()numClasConsole、WriteLine(學(xué)號(hào):0,姓名1,成績(jī)2 ”,num,name,score);publicvoid Print1()ublic stat1c voidPrint2()Console、WriteLine(”輸入得學(xué)生總?cè)藬?shù)為:0”,count);Conso1e、WriteLine(同學(xué)們得總成績(jī)?yōu)椋? ,addscore);Console、WriteLine(同學(xué)們得平均成績(jī)?yōu)椋?,average);publclassc1asslpubli

16、cstatic voidMainConsole、WriteLi在本信息記錄中,性別男為 Q,女為N);Student studentnewStudent();studentl、PrintIn);Student student2=new Student();student2、Println();Student student3=new Student(););student3、PrintInStudent、Average();Console、WriteLine(同學(xué)們得信息為:);studentl、Print1();student2、Print1();student3、Print1();Stud

17、ent、Print2();/就是否可以建立類數(shù)組?、關(guān)鍵代碼解釋有關(guān)關(guān)鍵代碼得解釋后面得實(shí)驗(yàn)都直接寫(xiě)在代碼得/備注里了.3、實(shí)驗(yàn)結(jié)果Windows7 操作系統(tǒng),VisualStudio2005及以上版本0101昔珪弭川StudioStudio 200?200?I I在本信息耙錄札丑別男猛女為N N請(qǐng)輸人一 ft 同學(xué)的信良; 學(xué)號(hào):H2870H2870姓匕紅成績(jī)!請(qǐng)箍入一位同學(xué) ffl 信息:142871142871姓匕 藍(lán) 成績(jī):9999請(qǐng)箍入一位同學(xué)的信息; 學(xué)號(hào)!142S72142S72姓啟:黃成疑6969同學(xué)們的信息為, :US29Q5StC:US29Q5StC4、實(shí)驗(yàn)總結(jié):學(xué)會(huì)了在r

18、eadiine里面使用類型轉(zhuǎn)換。認(rèn)為也許可以使用類得數(shù)組來(lái)定義這三個(gè)學(xué)生一、實(shí)驗(yàn)?zāi)康眉耙蟆緦?shí)驗(yàn)?zāi)康谩?、理解繼承得含義,掌握派生類得定義方法與實(shí)現(xiàn);2、理解虛函數(shù)在類得繼承層次中得作用,虛函數(shù)得引入對(duì)程序運(yùn)行時(shí)得影響,能夠?qū)κ褂锰摵瘮?shù)得簡(jiǎn)單程序?qū)懗龀绦蚪Y(jié)果.3、 編寫(xiě)體現(xiàn)類得繼承性(成員變量,成員方法,成員變量隱藏)得程序;4、 編寫(xiě)體現(xiàn)類多態(tài)性(成員方法重載,構(gòu)造方法重載)得程序?!緦?shí)驗(yàn)要求】1寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果。2、整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)與體會(huì)。3、完成實(shí)驗(yàn)日志與上交程序。二、實(shí)驗(yàn)環(huán)境142870,142870,姓名紅.1M23T1,1M23T1,硅名S,S,

19、亭號(hào):1M2S72,1M2S72,姓名黃,輸入的*生總?cè)藬?shù)為.3 3同學(xué)們的總績(jī)?yōu)椋?4247 7同李計(jì)i i的平堆底績(jī)?yōu)椋?2.33333133353382.333331333533實(shí)驗(yàn)繼承與多態(tài)編程,但沒(méi)有實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容(題目、源代碼、關(guān)鍵代碼解釋、運(yùn)行結(jié)果、實(shí)驗(yàn)總結(jié)【實(shí)驗(yàn)1-2-1】創(chuàng)建一個(gè)描述圖書(shū)信息得類并測(cè)試。類中應(yīng)保存有圖書(shū)得書(shū)號(hào)、標(biāo)題、作者、1)定義圖書(shū)類Book,Book類中包含isbn(書(shū)號(hào))、title(標(biāo)題)、autprice(價(jià)格)等私有字段。由于對(duì)一本書(shū)來(lái)說(shuō),書(shū)號(hào)就是唯一得,因此,出版社、價(jià)格等信息.hor (作者)、press(出版社) 、isbn字段應(yīng)聲明為只

20、讀得。2)為Book類中得每個(gè)字段定義相應(yīng)得屬性,由于isbn 字段只讀得,其相應(yīng)屬性也應(yīng)該就是只讀得。3)為Book 類定義兩個(gè)構(gòu)造函數(shù),其中,一個(gè)構(gòu)造函數(shù)將所有字段都初始化為用戶指定得值,另一個(gè) 構(gòu)造函數(shù)只要求用戶指定有關(guān)書(shū)號(hào)得信息,它將調(diào)用上一個(gè)構(gòu)造函數(shù)初始化對(duì)象 書(shū)號(hào)得其她信息取“未知。4)為Book 類定義方法Sh0W, Show方法用于顯示圖書(shū)得所有信息。5)編寫(xiě)Main方法測(cè)試Book類,Main方法中分別使用上述兩個(gè)構(gòu)造函數(shù)創(chuàng)建1、源代碼using System; publicclass Book/定義私有字段,初始化時(shí),價(jià)格取 0,除Book對(duì)象。privatereadon1

21、y string isbn;privatestringtitle;private string author;p rivatestringpress;private double price;/定義屬性publicstringIsbngetretUrn isbn;publicstringTitlegetreturntitle;setTitlevalue;p ublic stringAuthorgetreturn author;publicstring Pregetgetreturn price;etPrice = value;/定義構(gòu)造函數(shù)pub1lcBook(string isbn,stri

22、ng title, strlng author, stringpress,double price)this、isbn = isbn;this、title= title;this 、press = press;this 、price= price;setAuthor=va1ue;sepublireturnpress;Press = value;doub1e P ricethis、author= author;/繼承第一個(gè)構(gòu)造函數(shù)pub1ic Book(string isbn):this(isbn, ”未知,未知,”未知,0) public voidShow()Console、WriteLine

23、(這本書(shū)得信息如下:”;Console WriteLine(”書(shū)號(hào):0 ”,isbn);Console、WriteLine(”標(biāo)題:0”,Console、WriteLine(作者:0”,Console、WriteLine(出版社:0,Console、WriteLine(價(jià)格:0publicstat1c voidMain()Console、WriteLine(請(qǐng)按行依次輸入第一個(gè)書(shū)本信息,依次為書(shū)號(hào),標(biāo)題,作者,出版社,價(jià)格);Book book1 = new Book(Convert、ToString(Console、ReadLine(),Convert、ToString(Console、Re

24、adLine(),Convert、ToString(Console、ReadLine(),Convert、ToString(Console、ReadLine(),Convert、ToDouble(Console、ReadLine();book1、Show();Console、WriteLine(”請(qǐng)輸入第二個(gè)書(shū)本得書(shū)號(hào)”);Book book2= new Book(Convert、ToString( Console、ReadLine(); book2、Show();3、實(shí)驗(yàn)總結(jié):學(xué)會(huì)了用構(gòu)造函數(shù)繼承構(gòu)造函數(shù),另外經(jīng)過(guò)查閱還明白了this指針可以代替對(duì)象來(lái)調(diào)用對(duì)象得字段。 還實(shí)踐了可以在構(gòu)造函數(shù)

25、調(diào)用時(shí)調(diào)用輸入函數(shù)。【實(shí)驗(yàn) 1 22】編寫(xiě)一個(gè)程序計(jì)算出球、圓柱與圓錐得表面積與體積。1) 定義一個(gè)基類圓,至少含有一個(gè)數(shù)據(jù)成員:半徑;2)定義基類得派生類:球、圓柱、圓錐,都含有求體積函數(shù),可以都在構(gòu)造函數(shù)中實(shí)現(xiàn),也可以將求 體積與輸出寫(xiě)在一個(gè)函數(shù)中,或者寫(xiě)在兩個(gè)函數(shù)中,請(qǐng)比較使用.3)定義主函數(shù),求球、圓柱、圓錐得與體積。3、設(shè)計(jì)一個(gè)圖書(shū)卡片類Card,用來(lái)保存圖書(shū)館卡片分類記錄。classBookTest11tle);author);press);, price);2、 實(shí)驗(yàn)結(jié)果1)這個(gè)類得成員包括書(shū)名、作者、館藏?cái)?shù)量.2)至少提供兩個(gè)方法,store書(shū)得入庫(kù)處理,show顯示圖書(shū)信息.

26、3) 程序運(yùn)行時(shí),可以從控制臺(tái)上輸入需要入庫(kù)圖書(shū)得總量,根據(jù)這個(gè)總數(shù)創(chuàng)建 Card 對(duì)象數(shù)組,然后輸 入數(shù)據(jù)。4)可以選擇按書(shū)名、作者、入庫(kù)量進(jìn)行排序.1、源代碼using System;pub1icclass Circleprotecteddouble R;publicconst double Pl=3、/定義繼承類球,繼承圓public class Ba1l:Circ1e/定義表面積、體積字段protected doubleVol;protectedd0uble Area;/構(gòu)造函數(shù)public Ball(doub1e r)R=r;求表面積與體積得方法。采用先求表面積與體積再輸出p ubl

27、icdouble GetArea()Area =4*Pl*R*R;return Area;pub1ic double GetVol()V0 1=(4、013、0)*PI*R*R*R;WriteLine(球得表面積為:0,Area);Console、WriteLine(球得體積為:0,Vol);/定義繼承類圓柱,繼承圓,比較兩種輸出體積得方法(圓錐采用不繼承圓,直接繼承圓柱得做法)publicclassCyl:Circle/定義表面積、體積字段/定義基類圓eturn Vo1;publd Print()Cons0le、classTextprotected double Vol;protectedd

28、ouble Area;protecteddoubleh;構(gòu)造函數(shù)public Cyl() public Cyl(double r,double h)this 、h=h;/采用直接輸出體積與表面積b1icvirtualvoid GetArea()Area=h*2 l*R+2*PI*R*R;Console、WriteLine(”圓柱得表面積為:public virtual voidGetVol()Vol=h*PI*R*R; 0,Area);blicConso1class Cone:e、WriteLine(圓柱得體積為:0”,Vol);字段已經(jīng)定義,ublicCone(double r,double

29、 h)構(gòu)造函數(shù)不繼承R=rthis、h=h;/重寫(xiě)基類中得表面積、體積函數(shù)ublic overridevoid GetArea()Area=PI*R*R0、5*2*PI*R*System、Math、Sqrt(R*R+h*h);Console、WriteLine(圓錐得表面積為:0,Area);public override void GetVol()Vol1、03、0)*h * PI * R * R;Console、WriteLine(圓錐得體積為:0 , Vol);publ1c staticvoid Main()Console、WriteLine(”請(qǐng)輸入球得半徑:);double coun

30、t = Convert、ToDoub1e(Console、ReadLine();Ba1l bal1= newBal1(count);doub1eA=ball、GetArea();double V=ball、GetVol();ba1l、Print();Console、WriteLine( ”請(qǐng)按行依次輸入圓柱得半徑、高);Cyl cyl = new Cyl(Convert、ToDouble(Console、ReadLine() ,Convert、ToDouble(Console、ReadLine();cyl、GetArea();cyl、GetVol();/相比較兩種輸出方法,直接輸出法更簡(jiǎn)單。C

31、onsole、WriteLine(請(qǐng)按行依次輸入圓錐得半徑、高”);Cone cone = newCone(Convert、ToDouble(Console、ReadLine(), Convert、ToDouble(Console、ReadLine();cone、GetArea();cone、GetVol(); 2、實(shí)驗(yàn)結(jié)果3、實(shí)驗(yàn)總結(jié)在計(jì)算圓錐表面積時(shí)學(xué)會(huì)了SystemMath、Sqrt()得使用方法沒(méi)有采用0個(gè)參數(shù)得重載:說(shuō)明參數(shù)不能為空,錯(cuò)誤出在把Convert、ToDouble( Conso1e、ReadLine()括號(hào)里與括號(hào)外得內(nèi)容寫(xiě)反了另外很粗心在Wr1teLine里里面忘記加0

32、,編譯沒(méi)出錯(cuò)但拋出了異常,又找了半天才修改好?!緦?shí)驗(yàn) 1-2 3】設(shè)計(jì)一個(gè)圖書(shū)卡片類Card,用來(lái)保存圖書(shū)館卡片分類記錄。1)這個(gè)類得成員包括書(shū)名、作者、館藏?cái)?shù)量.2) 至少提供兩個(gè)方法,store書(shū)得入庫(kù)處理,show顯示圖書(shū)信息。3) 程序運(yùn)行時(shí),可以從控制臺(tái)上輸入需要入庫(kù)圖書(shū)得總量,根據(jù)這個(gè)總數(shù)創(chuàng)建 入數(shù)據(jù)。4) 可以選擇按書(shū)名、作者、入庫(kù)量進(jìn)行排序。1、源程序using System;publicclassLibrarypublic static int Num=0;publicstaticvoid Show()Console、WriteLine(圖書(shū)館共入庫(kù)了0本書(shū) ”, Num);

33、rivatestring name;public string Nameetreturnname;private string author;public stringAuthorgetreturn author;getreturn num;pubConsole、WriteLine( ”輸入要入庫(kù)得書(shū)信息,包括書(shū)名、作者、入庫(kù)量);publicclass CardprPuivateblicintnum=0;nt NumCard對(duì)象數(shù)組,然后輸icvoid Store()this、name=Convert、ToString(Console、ReadLine();this、author=Conve

34、rt 、ToString(Console 、ReadLine();um=Convert、ToInt32(Console、ReadLine()Console、WriteLine( ”圖書(shū)信息如下:”);Console、WriteLine(書(shū)名:0,作者:1,館藏?cái)?shù)量2,name,author,num);new Card();/學(xué)會(huì)了定義對(duì)象得數(shù)組,應(yīng)該先創(chuàng)建數(shù)組,再依次對(duì)里面得所有成員ardi、Store();Library、Show();Console、WriteLine(請(qǐng)選擇按什么排序:、書(shū)名2、作者3、存庫(kù)量 );inta= Convert、ToInt32( Console、ReadLi

35、ne(); switch(a)case1:Console、WriteLine( ”按書(shū)名從小到大排序);ardi、Name,cardj、Name)0)temp = cardi;publiclas Textpublc static void Main()inti;Card temp;Cardcard =new Card3;for(i=0; i3; i+)進(jìn)行創(chuàng)建。or(i0; i2; i+)for(int j = i;j 3;j+)cardi=cardi +1;cardi + 1= temp;this、nLibrary、 Num+=num;blic void Show()cardif (stri

36、ng、pare(cf or(1= 0;i3;1+)比較函數(shù)得使用card1、Show();break;case2:Console 、 WriteLin e( ”按作者從小到大排序 ”);i=0;12;i+)for(int3;j+)for(str1ng、 pare(cardi、Author, cardj、Author)emp =cardi;cardicardi1temp;0)/學(xué)會(huì)了0; i3;i+)card1、Show();break;case 3:Console、WriteLine(按存庫(kù)量從小到大排序 ”;for0)cardi;card1cardi +1;cardi +1 = ternp;

37、i3;i+)le、WriteLine(輸入錯(cuò)誤。);break;2、實(shí)驗(yàn)結(jié)果(實(shí)驗(yàn)結(jié)果檢測(cè)時(shí)選擇了用 :US20a5$SUC:US20a5$SUC3、實(shí)驗(yàn)總結(jié)學(xué)會(huì)了定義對(duì)象得數(shù)組,應(yīng)該先創(chuàng)建數(shù)組,再依次對(duì)里面得所有成員進(jìn)行創(chuàng)建。 經(jīng)過(guò)查閱學(xué)會(huì)了比較函數(shù)得使用。類得多態(tài)性練習(xí)【實(shí)驗(yàn)1-2-4】設(shè)計(jì)雇員系統(tǒng)。1) 定義雇員基類,共同得屬性,姓名、地址與出生日期;2)派生類:程序員,秘書(shū),高層管理,清潔工,她們有不同得工資算法,其中高級(jí)主管與程序員采用底薪加提成得方式,高級(jí)主管與程序員得底薪分別就是 5000元與2000 元,秘書(shū)與清潔工采用工資得方式,工資分別就是3000與 1000,以多態(tài)得方式

38、處理程序.1、源代碼using System;cardi、Show();break;default:IBSIBS苣瓷員visualvisual StudStud o o 20052005去咯握亡 輸入要入庫(kù)的書(shū)信息品書(shū)老I I書(shū)節(jié)1 1小紅3 3輸入要入庫(kù)伯書(shū)佶坦.尅括書(shū);、書(shū)M2M2小蘭S S輸人雋入庫(kù)的韋信息包拮書(shū)喀、 書(shū)333333小白斗3 3書(shū)館丼入庫(kù)了本書(shū) 請(qǐng)選擇按什么捋序:1 1、書(shū)主2,2,作者3.存*雖2按作者叢小食大ftft呼 圖書(shū)信息如下= 書(shū)名:柞者.囲書(shū)信息如下:書(shū)詔,書(shū)紂亂柞?t t3 3書(shū)信息如下:書(shū)名:書(shū)111.111.年者:件亂作吉、作者、小蘭小弐小紅,入庫(kù)瑩人

39、庫(kù)量Conso2號(hào)按作者從小到大排序)pub1icclass EmpIoyeeprivatestring name; /定義雇員基類得姓名、地址、出生日期、底薪、提成以及其屬性./屬性為可讀可寫(xiě),實(shí)驗(yàn)結(jié)果中為了簡(jiǎn)練沒(méi)有調(diào)用姓名地址出生日期等,不過(guò)調(diào)用了底薪、提成及其屬性以體現(xiàn)多態(tài)。public string Namereturn name;setname=va1ue;getreturn address;setaddress= value;string birth;publicstring Birthgetreturn birth;setbirth= value;doublesalary; /底

40、薪pub1ic virtualdoub1e Sa1arygetpuring addb1ic stess;ring Addressreturn salary;setsa1ary= va1ue;double ticheng;/提成b1icvirtual double TichenggetConsole、WriteLine (”程序員得總工資就是0,Salary);c class Manager : EmpIoyee/主管高層,繼承雇員基類public Manager()Sa1ary=5000;pusetreturn ticheng;tichengValue;publicVirtual Voidpu

41、blic virtual voidSumSalary() /工資算法不同,所以定義虛函數(shù)工資計(jì)算方法Show() /工資輸出名稱不同,所以定義了可重寫(xiě)得打印方法publicclassProgrammer:Employee /程序員,繼承雇員基類pubicProgrammer()Salary=2 000;Console、WriteLine(”請(qǐng)輸入程序員提成”);Ticheng=Convert、ToDouble(Console、ReadLine();pub1c overridevoidSumSalary()/重寫(xiě)工資計(jì)算方法,下面幾個(gè)類同puSalary +=Ticheb1ic override

42、 voidng;Show() /重寫(xiě)打印方法publConsole、WriteLine(”請(qǐng)輸入主管高層提成 ”);TiCheng=Convert、ToDouble(Console、ReadLine();ic override voidSumSalary()Salary+=Ticheng;pub1icoverridevoidShow()Console、WriteLine(主管高層總工資就是0 ,Salary);publicclassSec :Em ployeeZ/秘書(shū),繼承雇員基類publicSec()publicC1eaner()Salary=1000;ub1icoverride void

43、Show()Console、WriteLine(清潔工總工資就是0,this、Salary);Programmer pro = new Programmer();/輸入提成等,進(jìn)行總工資輸出,PS:為了簡(jiǎn)單就沒(méi)有輸出姓名等pro、SumSalary();pro、Show();Manager man = newManager();pubSalary=300 0;public overridevoidShow()Console、WriteLine(秘書(shū)總工資就是0,this、Salary);public class Cleaner:EmpIoyee/清潔工,繼承雇員基類class Textpubl

44、i cstatic void Main()man、SumSa1ary();man、Show();Secsec = newSec();sec Show();Cleaner c1e = new Cleaner();c1e、Show();2、實(shí)驗(yàn)結(jié)果G:US20O5安裝安裝UOsy1UOsy1 -2-4-2-4請(qǐng)輸入程序員提成請(qǐng)輸入程序員提成102102程序員的總工資是程序員的總工資是2121 0202請(qǐng)輸入主管高層提成請(qǐng)輸入主管高層提成299299主管高層總工瓷是主管高層總工瓷是52995299秘書(shū)總秘書(shū)總 H H 資是資是300D300D清潔工總工資是清潔工總工資是200200G:US20O5安

45、裝安裝3、實(shí)驗(yàn)總結(jié)使用 Virtual時(shí)下面實(shí)現(xiàn)多態(tài)要再次使用override才能重寫(xiě),這里做實(shí)驗(yàn)時(shí)出了一些問(wèn)題。另外在其她類中調(diào)用了基類得屬性,想到屬性也可以重寫(xiě),以后有空再拓展一下。【實(shí)驗(yàn)?zāi)康谩苛私馐裁淳褪墙涌?,接口與抽象類得異同,掌握接口得方法實(shí)現(xiàn),接口方法得重定義 【實(shí)驗(yàn)要求】寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果。 整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)與體會(huì).3、完成實(shí)驗(yàn)日志與上交程序。 【實(shí)驗(yàn)內(nèi)容】分析實(shí)現(xiàn)接口得程序文件分析以下實(shí)現(xiàn)接口得程序文件并回答問(wèn)題:本程序中得接口包含方法得構(gòu)成就是哪些?PareTo( Iparable p)實(shí)現(xiàn)接口得類包含哪些元素?privateuint tot

46、a1Secon ds;publicTimeSpan()publicTimeSpan(uint initia1Seconds)pub1ic uint Secondspub1ic intpareTo(I parab1e p)類實(shí)現(xiàn)接口方法得參數(shù)如何變換實(shí)現(xiàn)得?pub1ic int pareTo(lparablep)實(shí)驗(yàn)三接口編程1、2、TimeSpan p areTime =(TimeSpan)p;if (tota1Seconds p areTime、Seconds) return1;else if (pareTime、Seconds= totalSreturn 0;elsereturn 1;給出

47、程序得輸出結(jié)果p p: :US20O5US20O5安裝安裝UOsy3UOsy3I I spentspent moremore timetime thanthan thetheeconds)worldworld廠廠euoeuo廠廠d d holderholder實(shí)驗(yàn)四委托編程【實(shí)驗(yàn)?zāi)康谩?、了解委托得概念,掌握委托得使用;【實(shí)驗(yàn)要求】理解委托應(yīng)用得程序;寫(xiě)出委托應(yīng)用程序;調(diào)試程序,要給出測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果。整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)與體會(huì)。完成實(shí)驗(yàn)日志與上交程序。2、3、4、5、【實(shí)驗(yàn)內(nèi)容】委托及其方法得實(shí)現(xiàn)程序程序功能:定義一個(gè)含有兩個(gè)整型參數(shù)名叫Calcu1ation返回類型為 double 得

48、委托,分別實(shí)現(xiàn)兩個(gè)匹配得求與、求平均值得方法,并在主函數(shù)中測(cè)試它.1、源代碼uSing System;public de1egate double Calculation(doub1em,doublen);/定義一個(gè)委托類型分別實(shí)現(xiàn)兩個(gè)匹配得求與、求平均值得方法,并在主函數(shù)中測(cè)試它。c1ass TestP ublic double p1us(doublem,double n)double va1= m + n;return va1;publicdoub1e aver(double m, doub1en)double a =(m+ n) /2);classTesterpublicstatic v

49、oidMain()Testt =new TestCalculationcallCon sole、WriteLCalculationcal2 =newation(t、plus);+ call(5、0, 6、0); ion(t、aver);+ cal2(5、0, 6、0);2、實(shí)驗(yàn)結(jié)果);= newCalculi ne(兩數(shù)之與為:CalculatCon sole、WriteLi ne(”兩數(shù)得平均值為:Console、ReadKey(true);【實(shí)驗(yàn)?zāi)康谩?、 理解什么就是異常及異??赡墚a(chǎn)生得原因;2、 掌握異常拋出與捕獲語(yǔ)句;3、 理解專有catch塊得使用;【實(shí)驗(yàn)要求】調(diào)試程序,要給出測(cè)試

50、數(shù)據(jù)與實(shí)驗(yàn)結(jié)果整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)與體會(huì)。完成實(shí)驗(yàn)日志與上交程序。實(shí)驗(yàn)內(nèi)容】實(shí)驗(yàn)五異常處理編程異常處理設(shè)計(jì)類,實(shí)現(xiàn)異常處理。1)建立一個(gè)名字為Meteorologist得類,其中含有一個(gè) 12個(gè)int類型元素得數(shù)組rainfall,造函數(shù)給賦值;一個(gè)方法頭為public int GetRainfall(intindex),此方法返回rainfal中與給定得in dex對(duì)應(yīng)得值,在GetRa in fall添加處理任何從 GetRai需要得代碼。2)為讀取每月降雨從空中吸收并帶到地面得污染物,在類中添加數(shù)組在構(gòu)造方法中賦任意值;在類中編寫(xiě)另一個(gè)方法,頭為:Public int Ge通過(guò)構(gòu) 1 元素 nfal1 方法中拋出得越界異常所pollution,也包含 12個(gè)元素,tAveragePollution(intindex),來(lái)計(jì)算給定月份單位降雨量中得污染物,例如,計(jì)算 4 月份單位降雨量所含污染物用以下計(jì)算來(lái)實(shí)現(xiàn):averagePollution=pollutin 3/rainfall3;在此方法中實(shí)現(xiàn)處理異常得代碼。注意,此方法既可以拋出索引越界異常,也可以拋出被0除異常。3)編寫(xiě)測(cè)試代碼。1、源代碼using System;public c

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論