版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C#・net》实验报告姓名:学号:142871日期:2023/04/24实验名称:面向对象编程成绩:publiccharSexget{returnsex;)set{sex=value;))//方法publicStudent(stringc,stringn,chars){num=c;name=n;sex=s;}publicvoidPrintIn()(Console.WriteLine(“学号”);num=Conso1c.RcadLinc();Console.WriteLine("姓名");name=ConsoIc.ReadLine():Console.WriteLine("性别)sex=Conver1.T0Char(Console.RcadLine()):pub1icvoidRevise()Console.WriteLine。请对输入的学号重新进行编辑:");oldnum=num;num=Console.ReadLineO:Console.WriteLine(”请对输入的性别重新进行编辑:");oIdsex=sex;sex=Convert.ToChar(Console,ReadLine());publievoidPrintOut()Console.WriteLine("修改前的信息为:学号:{0},姓名:{1},性别:{2}”,oldnum,name,oldsex):Console.WriteLine("修改后的信息为:学号:{0},姓名:{1},性别:(2}",num,name,sex);publicclassclassIpub1icstaticvoidMain()Console.WriteLine("在本信息中男为Q女为N");Sludentstudcnll=newStudent("123","王兰",'N');student1.PrintIn();studentl.Revise();studentl.PrintOut();
2、关键代码解释1)为了能同时输出修改前修改后的名称,引入了字段oldnum,oldsex,将修改前的传给这两个值,并将新值覆盖原字段num和sexo3、实验结果:e:\US2005\安装\UC>实验1-2在本信息中男为Q女为N学号142871姓名王璐性别请对输入的学号重新进行编辑:142870请对输入的性别重新进行编辑:性别:N
性别:Qo此外为了满足第3性别:N
性别:Qo此外为了满足第3个实验条件,同时输出,4、实验分析:虽然设立了属性,但没用实际用到,感觉也许没有编好。。所以引入了新字段,不知道是否符合规定。【实验编写一个控制台应用程序,程序中有两个类定义,一个是创建程序时系统自动创建的类Classi,一个是用户自定义的Student类,规定该类包含私有实例字段:学号(字符串)、姓名(字符串)、成绩(double)以及私有静态字段:学生人数、学生总成绩、学生平均成绩,具有有参构造方法、显示学生个人信息的公有实例方法和显示学生人数、总成绩及平均成绩的公有静态方法。在C1ass1类的Main方法中完毕以下功能:1)从键盘上依次输入三个学生的个人信息(学号、姓名、成绩)。2)记录所有学生的人数、总成绩和平均成绩。3)打印学生们的个人信息及所有学生的人数、总成绩和平均成绩。1、源代码usingSystem;publicclassStudcnt(//字段privatestringnum;PrivaIestringname;privatedoublcscore;pub1icstaticintcount;pub1icstaticdoublcaddscore;pubIicstaticdoub1eaverage;〃方法publicStudent()(count++;)publicvoidPrintin()Console.WriteLine("请输入一位同学的信息Console.WriteLine("学号丁');num=Console.ReadLine();Conso1e.WriteLinc("姓名:");name=Conso1e.ReadLine();Conso1e.WriteLine("成绩:");score=Convert.TdDouble(Console.ReadLine());addscore+=score;)publicstaticvoidAverageO(average=addscore/count;)publicvoidPrint1()(Console.WriteLine("学号:{0},姓名{1},成绩{2}”,num,name,score);)publics(aticvoidPrint2()(Conso1c.WritcLinc("输入的学生总人数为:{0}",counl);Console.WrileLine("同学们的总成绩为:{0}”,addscore);Console.WriteLine("同学们的平均成绩为:{0}",average);}1icclassclass1publiestaticvoidMain()ConsoIe.WriteLine("在本信息记录中,性别男为Q,女为N");Studcntstudent1=newSludent();studentl.PrintlnO;Studcntstudent2=newStudcnt();student2.Println();Studentstudent3=newStudent():sludcnt3.Println();Student.Average();Console.WriteLine("同学们的信息为:");student1.Print1();studcnt2.Print1();student3.Printl():Student.Print2();//是否可以建立类数组?2、关键代码解释有关关键代码的解释后面的实验都直接写在代码的〃备注里了。3、实验结果国I售理员:VisualStudio2005命令提示庇本信息记录中,性别男为Q,女为N请输入一位同学的信息:学号:14287Q姓名:红成绩:88请输入一位同学的信息:学号:142871姓名:蓝成绩:99用输入一位同学的信息:学号:142872姓名:同学们的信息为:学号:14287%姓名红,成绩88学号:142871,姓名蓝,成绩99学号:142872,姓名黄,成绩6。输入的学生总人数为:3同学们的总成绩为:247同学们的平均成绩为:82.3333333333333e:\US2®05\安装\UC)4、实验总结:学会了在readline里面使用类型转换。认为也许可以使用类的数组来定义这三个学生,但没有实现。实验二继承与多态编程一、实验目的及规定【实验目的】.理解继承的含义,掌握派生类的定义方法和实现;.理解虚函数在类的继承层次中的作用,虚函数的引入对程序运营时的影响,可以对使用虚函数的简朴程序写出程序结果。.编写体现类的继承性(成员变显,成员方法,成员变量隐藏)的程序;.编写体现类多态性(成员方法重载,构造方法重载)的程序。【实验规定】.写出程序,并调试程序,要给出测试数据和实验结果。.整理上机环节,总结经验和体会。.完毕实验日记和上交程序。二、实验环境Windows7操作系统,VisualStudio2023及以上版本三、实验内容(题目、源代码、关键代码解释、运营结果、实验总结)【实验1-2-1】创建一个描述图书信息的类并测试。类中应保存有图书的书号、标题、作者、出版社、价格等信息。)定义图书类Book,Book类中包含isbn(书号)、title(标题)、author(作者)、press(出版社)、pricc(价格)等私有字段。由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。)为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应当是只读的。3)为Bo。k类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只规定用户指定有关书号的信息,它将调用上•个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。4)为Book类定义方法Show,Show方法用于显示图书的所有信息。5)编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建B。。k对象。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实验一类和对象编程一、实验目的及规定【实验目的】.如何创建类和对象。.如何为定义的类编写相应的方法。.如何通过属性访问对象中的数据【实验规定】.写出程序,并调试程序,要给出测试数据和实验结果。.整理上机环节,总结经验和体会。.完毕实验日记和上交程序。二、实验环境Windows7操作系统,Visua1Studio2023及以上版本三、实验内容(题目、源代码、关键代码解释、运营结果、实验总结)【实验1一1・。编写一个控制台应用程序,定义并使用一个时间类,该类包含时、分、秒字段与属性,具有将时间增长1秒、1分和1小时的方法,具有分别显示时、分、秒和同时显示时分秒的方法。1、源代码:usingSystem:pubIicclassTime(〃字段privalcinthour;pubIicdoubiePrice(get(returnprice;)set(Price=value;}}//定义构造函数doubieprice)doubieprice)doubieprice)publicBook(stringisbn,stringtit1e,stringauthor,stringpress,(this.isbdoubieprice)this.titlc=titlc;this.author=author;this.prcss=press;this.price=price;)//继承第一个构造函数publicBook(stringisbn):this(isbn,"未知"J未知","未知",0)(}publicvoidShow()Console.WriteLine("这本书的信息如F:M);Conso1e.WriteLine<,r书号:{0}'\i$bn);Conso1e.WriieLine("标题:{0}",tide):Conso1e.WriteLinef'作者:{0}",author);Console.WriteLine("出版社:{0}",press):Console.WriteLine("价格:{0}”,price);))classBookTest(publicstaticvoidMain()(Console.WriteLine("请按<行>依次输入第一个书本信息,依次为书号,标题,作者,出版社.价格");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("请输入第二个书本的书号");Bookbook2=newBook(Convcrt.TbString(ConsoIc.ReadLine()));b0ok2.Show();))2、实验结果
SSvisualStudio2005命令徨示e、US2005\安装\UC〉sy1-2-1请按<行>依次输入第一个书本信息,依次为书号,标题,作者,出版社,价格001.net清华大学出版社100这本书的信息如下:书号:001标鹿:.net清华大学出版社100这本书的信息如下:书号:001标鹿:.net作者:师硕出版社:清华大学出版社价格:10。请输入第二个书本的书号002这本书的信息如下:书号:002标题:未知作者:未知出版社:未知价格:0半:3、实验总结:学会了用构造函数继承构造函数,此外通过查阅还明白了this指针可以代替对象来调用对象的字段。还实践了可以在构造函数调用时调用输入函数。【实验1—2一21编写一个程序计算出球、圆柱和圆锥的表面积和体积。1)定义一个基类圆,至少具有一个数据成员:半径;2)定义基类的派生类:球、圆柱、圆锥,都具有求体积函数,可以都在构造函数中实现,也可以将求体积和输出写在一个函数中,或者写在两个函数中,请比较使用。3)定义主函数,求球、圆柱、圆锥的和体积。3、设计一个图书卡片类Card,用来保存图书馆卡片分类记录。D这个类的成员涉及书名、作者、馆藏数量。2)至少提供两个方法,store书的入库解决,show显示图书信息。3)程序运营时,可以从控制台上输入需要入库图书的总量,根据这个总数创建Card对象数组,然后输入数据。4)可以选择按书名、作者、入库量进行排序。1、源代码11singSystem;pub1icclassCircle//定义基类圆{protecteddoubleR:publicconstdoub1eP1=3.14;)〃定义继承类球,继承圆publicclassBall:Circ1e{〃定义表面积、体积字段protecteddouhleVol;protecteddoubleArea;〃构造函数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);))〃定义继承类圆柱,继承I戏比较两种输出体积的方法(圆锥采用不继承圆,直接继承圆柱的做法)publicc1assCy1:Circle(〃定义表面积、体积字段protecteddoubleVbl;protecleddoublcArea;protecteddoubleh;〃构造函数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(〃字段已经定义,构造函数不继承publicCone(doubler,doublch)(R=r;this.h=h;)〃重写基类中的表面积、体积函数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("请输入球的半径:");doubIecount=Convert.ToDoub1e(Console.ReadLine());Ba11ba1I=newBall(count):doubieA=ball.GetArea();doubIeV=ba1I.GetVol();ball.Prinl():Console.WriteLine("请按布’依次输入圆柱的半径、高");CylcyI=newCyl(Convcrt.ToDoub1c(Consolc.RcadLine()),Convert.TbDoubIe(ConsoIe.ReadLine()));cy1.GctArcaO;cy1.GetVo1();〃相比较两种输出方法,直接输出法更简朴。Console.WriteLine("请按行'依次输入圆锥的半径、高");Conecone=newCone(Convert.T0D0ub1e(Console.ReadLine。),Convert.ToDouble(Console.ReadLine()));cone.GetArea();cone,GetVol();)2、实验结果e:\US2005\安装\UC>sy1-2-2请输入球的半径:2球的表面积为:50.24球的体积为:33.4933333333333请按‘行’依次输入圆柱的半径、高33回柱的表面积为:“3.04圆柱的体积为:84.78请按,行,依次输入圆锥的半径、高44利锥的表面积为:121.290089373624回锥的体积为:66.98666666666673、实验总结在计算圆锥表面积时学会了System.Math.Sqrt()的使用方法没有采用”0“个参数的重载:说明参数不能为空,错误出在把Convert.ToDoub1e(Conso1e.ReadLine())括号里和括号外的内容写反了此外很粗心在WriteLine里{}里面忘掉加0,编译没犯错但抛出了异常,又找了半天才修改好。。【实验1-2一3】设计一个图书卡片类Card,用来保存图书馆卡片分类记录。1)这个类的成员涉及书名、作者、馆藏数量。2)至少提供两个方法,store书的入库解决,show显示图书信息。3)程序运营时,可以从控制台上输入需要入库图书的总量,根据这个总数创建Card对象数组,然后输入数据。4)可以选择按书名、作者、入库量进行排序。1、源程序usingSystem:publieclassLibrary(publicstaticintNum=O;publicstaticvoidShow()(Num);Console.WriteLine("图书馆共入库了{0}本书”,)Num);publicclassCard(privatestringname;pub1icstringName(getprivatestringauthor;publiestringAuthor{get{returnauthor;))privateintnum=0;publicintNum(get(returnnum;)1publicvoidStore()(Console,WriteLine("输入要入库的书信息,涉及书名、作者、入库量"):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<"图书信息如下[');Console.WriteLine("书名:{0},作者:{1},馆藏数量{2}",name,author,num);)IpublicclassText(publicstaticvoidMain()(inti;Cardtemp:Card[Jcard=newCard[3];for(i=0;i<3;i++)(caid[i]=newCard。;//学会了定义对象的数组,应当先创建数组,再依次对里面的所布成员进行创建。card[i].Store();)Library.Show():Console.WriteLine("请选择按什么排序:、书名2、作者3、存库量");inta=Convert.Tblnt32(Console.ReadLine());switch(a)caseI:Console.WrileLine("按书名从小到大排序");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)>())//学会了比较函数的使用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("按存库量从小到大排序");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("输入错误。break;)))2、实验结果(实验结果检测时选择了用2号■按作者从小到大排序)Q3M理员:VisualStudio2005余会绳示输入要入库的书信息,包括书名、作者、入库量书111小红纂入要入库的书信息,包括书名、作者、入库量书2222、兰输入要入库的书信息,包括书名、作者、入库量书333小白图书馆共入库了12本书请选择按什么排序:1、书名2、作者3、存库量3作者从小到大排序小兰,小白,小红,馆藏数量5馆藏数量4馆藏数量3小兰,小白,小红,馆藏数量5馆藏数量4馆藏数量3。:\US2005\安装\UC>半:3、实验总结学会了定义对象的数组,应当先创建数组.再依次对里面的所有成员进行创建。通过查阅学会r比较函数的使用。类的多态性练习【实验1-2-4]设计雇员系统。1)定义雇员基类,共同的属性,姓名、地址和出生日期;2)派生类:程序员,秘书,高层管理,清洁工,他们有不同的工资算法,其中高级主管和程序员采用底薪加提成的方式,高级主管和程序员的底薪分别是5000元和2023元,秘书和清洁工采用工资的方式,工资分别是3000和1000,以多态的方式解决程序。1、源代码usingSysicm;pub1icclassEmployee1privatestringname;〃定义雇员基类的姓名、地址、出生日期、底薪、提成以及其属性。〃属性为可读可写,实验结果中为了简练没有调用姓名地址出生日期等,但是调用了底薪、提成及其属性以体现多态。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(){)〃工资算法不同,所以定义虚函数工资计算方法publicvirtualvoidShow(){}〃工资输出名称不同,所以定义了可重写的打印方法publicclassProgrammer:Emp1oyee//程序员,继承雇员基类(publicProgranimer()(Salary=2023:Console.WriteLine("请输入程序员提成)Ticheng=ConverI.ToDoub1e(Console.ReadLine());publicoverridevoidSumSaIary()//重写工资计算方法,下面几个类同Sa1ary+=Ticheng;)pub1icoverridevoidShow()〃重写打印方法(Conso1e.WriteLine("程序员的总工资是{0}",Salary);)■PublieclassManager:Employee//主管高层,继承雇员基类publicManager()(Salary=5000;Console.WriteLinc("请输入主管高层提成"):Ticheng=Convert.ToDouble(Console.ReadLine());)pub1icoverridevoidSumSa1aiy()(Salary+=Ticheng;)publicoverridevoidShow()Console.WriteLine("主管高层总工资是{0}",Salary);pub1icc1assSec:Emp1oyee//秘书,继承雇员基类publieSec()Salary=3000;pub1icoverridevoidShow()Conso1c.WritcLine("秘书总工资是{0)".this.Sa1ary);publicclassCleaner:Employee//清洁工,继承雇员基类publicCleaner()Salary=l()OO;pubIicoverridevoidShow()Conso1e.WriteLine("清洁工总工资是(0)"»this.Sa1ary);publicintSecondget(returnsecond;}set(second=value;//方法〃加时方法PublicvoidSAdd()(second++;if(second>60)(minite++;second=second%60;)if(minitc>60){hour++;minite=minite%60;classTcxtpub1icstaticvoidMain()Programmerpro=newProgrammer。;//输入提成等,进行总工资输出,PS:为了简朴就没有输出姓名等pro.SumSalary();pro.Show():Managerman=newManager();man.SumSaIary():man.Show();Secsec=newSec();scc.Show();Cleanercle=newCleaner();c1e.Show();2、实验结果e:\US2005\安装\UC>sy1-2-4请输入程序员提成一102程序员的总工资是2102请输入主管高层提成299主管高层总工资是5299秘书总工资是300。清洁工总工资是100。0:\心2。05\安装\3>3、实验总结使用virtual时下面实现多态要再次使用。verride才干重写,这里做实验时出了一些问题。此外在其他类中调用了基类的属性,想到属性也可以重写,以后有空再拓展一下。实验三接口编程【实验目的】1.了解什么是接口,接口和抽象类的异同,掌握接口的方法实现,接口方法的重定义。【实验规定】写出程序,并调试程序,要给出测试数据和实验结果。整理上机环节,总结经验和体会。完毕实验日记和上交程序。【实验内容】分析实现接口的程序文献分析以下实现接口的程序文献并问答问题:本程序中的接口包含方法的构成是哪些?CompelreTo(IComparablecomp)实现接口的类包含哪些元素?privateuinttotaISeconds;publieTimeSpan()publicTimeSpan(uiniinitialSeconds)publicuintSccondspublicintCompareTo(IComparablecomp)类实现接口方法的参数如何变换实现的?publicintCompareTo(IComparablccomp)TimeSpancompareTime=(TimeSpan)comp;if(tota1Seconds>compareTime.Seconds)returnI;elseif(compareTime.Seconds==totaISeconds)return0;elsereturn-1;)•给出程序的输出结果Ie:\US2@05\安装\UC>sy3Ispentmoretimethantheworldrecordholder实验四委托编程【实验目的】了解委托的概念,掌握委托的使用;【实验规定】.理解委托应用的程序;.写出委托应用程序;.调试程序,要给出测试数据和实验结果。.整理上机环节,总结经验和体会。.完毕实验日记和上交程序。【实验内容】委托及其方法的实现程序程序功能:定义一个具有两个整型参数名叫Calculation返回类型为double的委托,分别实现两个匹配的求和、求平均值的方法,并在主函数中测试它。1、源代码usingSystem;publicdelegatedoubleCalculation(doublem,doub1en);〃定义一个委托类型〃分别实现两个匹配的求和、求平均值的方法,并在主函数中测试它。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("两数之和为:"+cal1(5.0,6.0));Calculationcal2=newCa1culation(t.aver);Console.WriteLine("两数的平均值为:"+cal2(5.0,6.0));Console.ReadKey(true);})2、实验结果e:\US2005\安装\UC>sy4两数之和为:11两数的平均值为:5.5实验五异常解决编程【实验目的】1、理解什么是异常及异常也许产生的因素;2、掌握异常抛出和捕获语句;3、理解专有catch块的使用;【实验规定】.调试程序,要给出测试数据和实验结果。.整理上机环节,总结经验和体会。.完毕实验日记和上交程序。【实验内容】异常解决设计类,实现异常解决。1)建立一个名字为Meteorologist的类,其中具有一个12个int类型元素的数组rainfa11,通过构造函数给赋值;一个方法头为pub1icintGetRainfal1(intindex),此方法返【可rainfall元素中与给定的index相应的值,在GetRainfa11添加解决任何从GetRainfall方法中抛出的越界异常所需要的代码。2)为读取每月降雨从空中吸取并带到地面的污染物,在类中添加数组pollution,也包含12个元素,在构造方法中赋任意值;在类中编写另一个方法,头为:pub1icintGetAveragePoHution(intindex),来计算给定月份单位降雨量中的污染物,例如,计算4月份单位降雨量所含污染物用以下计算来实现:averagePo11ution=pol1utin[3]/rainfall[3];在此方法中实现解决异常的代码。注意,此方法既可以抛出索引越界异常,也可以抛出被0除异常。3)编写测试代码。1、源代码usingSystem;publicclassMeteoro1ogist[publicint[]rainfall;publicintflpo11ution=newinpublicdoubleaveragePollution;pub1icMeteorologist()//构造函数{rainfa11=newint[l<20,0,24,19,20,25,17,18,15,30,20,20);Conso1e.WriteLine("请输入〜月的污染物含量(单位ml)");for(inti=0;i<12;i++)(poliution[i]=Convert.ToInt32(Console.ReadLine());))publieintGetRainfal1(intindex)//返g|rainfal1元素中与给定得index相应的值(try(returnrainfaII[index];)catch(IndexOutOfRangeException)(Consolc.WriteLine("数组下标越界异常");return0;catch(FormatException)Console.WriteLine("数组下标非数字异常");return0;)}pub1icin(GelAveragePollution(intindex)//计算给定月份单位降雨量中的污染物(try{averagePo11ution=pollution[index]/GeiRainfall(index);averagePollution=(doub1e)po1lution[index]/(double)GetRainfall(index);)catch(IndcxOutOfRangeException)]Console.WriteLine("数组下标越界异常");)catch(DivideByZeroException){Conso1e.WriteLine("除数为零异常))stringk="n";Console.WriteLine(”已打开Start文献,稍后请将其关闭!”);Console.ReadKey();Iop2:Conso1e.WriteLine("Start文献仍在运营中,是否将其关闭(Y/N)?");k=Console.ReadLine();if(k=="y"|Ik=="Y")(Conso1e.WriteLine("ClosingWeatherXYZfi1e");gotolop1;}elsegotoIop2;1opl:Console.WriteLine("S〔ari文献已经关闭,程序将继续运营)//输出Conso1e.WriteLine("{0}月份单位降雨量所含污染物比例为:{1}%",index,average?oHution1c100);return0;1)publicclassTextpub1icstaticvoidMain(){intmon;Console,WriteLine("单位降雨量所含污染物比例计算");MeteorologistMt=newMeteorologist();Console.WriteLine("请输入您所要计算的月份");mon=Convert.ToIn(32(Conso1e.ReadLine());
Mt.GetAveragePo1Iution(mon-1);)2、实验结果QB苣理员VisualStudio2005命令提示单位降雨量所含污染物百分比计算情输入1〜12月的污染物含量(单位ml)193344请输入您所要计算的月份5已打开Start文件,稍后请将其关闭!sStart文件仍在运行中,是否将其关闭(Y/N)?卜ClosingIdeatherXYZfile3、Start文件已经关闭,程序将继续运行4月份单位降雨量所含污染物百分比为:3、if(hour>24)hour=hour%24;)}pub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟台理工学院《程序设计基础》2021-2022学年第一学期期末试卷
- 许昌学院《虚拟现实技术实验》2022-2023学年第一学期期末试卷
- 财务年度预算方案计划
- 徐州工程学院《植物压花实践艺术》2021-2022学年第一学期期末试卷
- 徐州工程学院《文案设计》2022-2023学年第一学期期末试卷
- 排水管道施工质量保证措施
- 班级文学创作与交流活动计划
- 落实仓库消防安全管理的工作方案计划
- 闽教版三年级上册英语单词
- 绩效管理体系的持续改进计划
- 密闭式静脉输液口述词(四篇)
- 口干问卷调查表
- 农药安全科学使用技术
- 低压电工实用技术-常用电工工具的使用
- 哈尔滨工业大学高等数学期末考试试题和答案
- 钢筋笼吊装作业安全监理细则
- 翁敏-孕期营养与膳食指导
- 人教版鄂教版六年级科学上册知识要点
- 实验报告 配合物的生成、性质和应用
- 雅思阅读必看完整课件
- 钢丝绳在卷筒上旋向的判断
评论
0/150
提交评论