C#程序设计实验报告_第1页
C#程序设计实验报告_第2页
C#程序设计实验报告_第3页
C#程序设计实验报告_第4页
C#程序设计实验报告_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告 书 写 要 求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的, 标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。 实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结 果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论 处。实验报告批改说明实验报告的批改要及时

2、、认真、仔细,一律用红色笔批改。实验报告的批 改成绩采用五级记分制或百分制,按金陵科技学院课堂教学实施细则中作 业批阅成绩评定要求执行。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然 班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称:C罐础编程实验学时:6同组学生姓名:实验地点:1318实验日期:10月5日-10月19日实验成绩:批改教师:批改时间:实验 1 C# 基础编程一、实验目的1、熟悉 VisualStudio.NET 开发环境。2、掌握C#应用程序的基本操作过程。3、掌握C#的数据类型,运算符以及表达式的使用。4、掌握分

3、支和循环语句的使用方法。5、掌握一维数组,二维数组及数组型数组的使用。二、实验要求( 1)编写程序要规范、正确,上机调试过程和结果要有记录( 2)做完实验后给出本实验的实验报告。三、实验设备、环境安装有 VisualStudio.NET 软件。四、实验步骤1、分析题意。2、根据题目要求,新建项目。3、编写并输入相关的程序代码。5、运行与调试项目。6、保存项目。五、实验内容1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名) 。usingSystem;usingusingSystem.Linq;usingSystem.Text;namespaceone.firstclassProgram

4、staticvoidMain(stringargs)2、编写一个简单的Windows 应用程序,在窗体 Load 事件中书写代码,标签中显示你的姓名。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、编写一个一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符。usingSystem;usingusingSystem.Text;namespaceone.thirdclassProgramstaticvoidMain(stringargs)Console.WriteLine(请输入一个字符:);

6、charc=Convert.ToChar(Console.ReadLine();if(c=a&c=A&c=Z)Console.WriteLine(这是一个字母);if(char.IsDigit(c)Console.WriteLine(这是一个数字);4、分别用while , do-while , for 循环求 1 到 100 的和。usingSystem;usingusingSystem.Text;namespaceclassProgramstaticvoidMain(stringargs)inti=1,sum=0;while(i=100)sum=sum+i;i+;Console.Write

7、Line(1 到 100 的自然数之和为: +sum);usingSystem;usingusingSystem.Text;namespaceone.forth.twoclassProgramstaticvoidMain(stringargs)inti=1,sum=0;dosum=sum+i;i+;while(i=100);Console.WriteLine(1 到 100 的自然数的和为: +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 的自然数的和为: +sum);5、 定义一个一维数组, 用随机数为此赋值, 用 foreach 循环输出其中的内容。 usingSystem;usingusingSystem.Linq;usingSystem.Text;namespacefirst.fiveclassProgramstaticvoidMain(stringargs)inta=0,1,2,3,4;foreach(intiina)Console.WriteLine(ai);6、实现二维数组的输入和输出。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、实现数组型数组的输入和输出。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);六、实验体会(遇到问题及解决办法,编程后的心得体会)刚开始编程的时候觉得无从下手, 尽管我们已经学了好几种高级编程语言, 但每个都有其独特的地方,稍不留神就会混淆。通过这次实验,我体会到课后复习巩固的重要性。在编程的时候, 很多内容都不记得,需要去翻书。不得不说,实验是巩固课程的好方法!本次实验,我熟悉VisualStudio.NET 开发环境;掌握了

11、 C#E用程序的基本操彳过程;掌握了C#勺数据类型, 运算符以及表达式的使用; 掌握了分支和循环语句的使用方法以及一维数组,二维数组及数组型数组的使用。实验项目名称:类与对象实验学时:6同组学生姓名:实验地点:1318实验日期:10月26日-11月9日实验成绩:批改教师:批改时间:实验 2 类与对象一、实验目的、要求( 1)掌握类的定义和使用;( 2)掌握类的数据成员,属性的定义和使用;( 3)掌握方法的定义,调用和重载以及方法参数的传递;( 4)掌握构造函数的定义和使用。 二、实验要求( 1)编写程序要规范、正确,上机调试过程和结果要有记录;( 2)做完实验后给出本实验的实验报告。三、实验设

12、备、环境安装有 VisualStudio.NET 软件。四、实验步骤1、分析题意;2、根据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行与调试项目;6、保存项目。五、实验内容1、 定义一个方法, 实现两个数的交换 (分别把参数按值传递和按引用传递) 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、定义一个方法,实现数组的排序。usingSystem;usingusingSystem.Text;namespacesecond.twoclassProgrampublicclasssortpublicvoidchange(inta)Console.WriteLine(排序前,数组顺序为:);show(a);inti,j,m;for(i=0;i=0&maj)/ 判断 i 下标的数是否大于j 下标的数aj+1=aj;/ 如果 i 下标大于 j 把 j 往后移一个位j-;aj+1=m;/ 当不大于

15、 j 的时候就把M 的值放到 i 下标下面 j+1 是为了下标减到最前时考虑-1+1 还是下标的最前面Console.WriteLine(排序后,数组顺序为:);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、定义一个学生类,把学生类当作对象来传递。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、定义一个方法,求两个数的和和差,通过参数把这两个值带回。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、用构造函数重载,实现矩形的面积,圆的面积,梯形的面积;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、求矩形面积,长为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、设计一个windows应用程序,在该程序中定义一个学生类和班级类,以 处理每个学生的学号,姓名,语文,数学和英语成绩,要求:1)能查询每个学生的总成绩。2)能显示全班前三名的名单。3)

20、能显示单科成绩最高分和不及格的学生名单。4)能统计全班学生的平均成绩。5)能显示各科成绩不同分数段的学生人数的百分比。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;/给所有成绩排

22、序,用后面实现前三名的排名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;/显示单科成绩的最高分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+=单科数学最高:

24、+stuHighScore(0).name+n;Maxer+=单科语文最高:”+stuHighScore(1).name+n;Maxer+= 单科英语最高: +stuHighScore(2).name+n;Loser+=单科数学挂科名单:+BuhgName(0)+n;Loser+=单科语文挂科名单:+BuhgName(1)+n;Loser+=单科英语挂科名单:+BuhgName(2)+n; returnMaxer+n+Loser;/全班的平均成绩publicstringSumScore()doublesum=0;doubleavg=0;for(inti=0;isnums;i+)sum=sum+

25、stui.sumScore;avg=sum/snums;return”班级总分平均分:+avg;/各科成绩不同分数段的学生百分比/英语成绩各分数段百分比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”语文成绩百分比:+n+90100:+per1+8090:+per2+8070:+per3+7060:+per4+60 以下 的 :+per5;/数学成绩各分数段百分比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(数学成绩百分比:+n+90100:+per1+8090:+per2+8070:+per3+7060:+per4+60 以下 的 :+per5);/英语成绩各分数段百分比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(数学成绩百分比:+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=+ 的总成绩: +sl.stupos.sumScore;elseMessageBox.Show(不存在这个人!);

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;六、实验体会(遇到问题及解决办法,编程后的心

33、得体会)通过本次实验, 我掌握了类的定义与使用;掌握了类的数据成员,属性的定义和使用; 掌握了方法的定义, 调用和重载以及方法参数的传递以及构造函数的定义和使用。值得注意的是:本次实验中 return 的使用以及所在的位置,类型转换时也经常用到实验项目名称:继承与多态实验学时:6同组学生姓名:实验地点:1318实验日期:11月16日-11月30日实验成绩:批改教师:批改时间:实验 3 继承与多态一、实验目的、要求( 1)掌握类的继承性与多态性;( 2)掌握虚方法的定义以及如何使用虚方法实现多态;( 3)掌握抽象类的定义以及如何使用抽象方法实现多态;二、实验要求( 1)编写程序要规范、正确,上机

34、调试过程和结果要有记录;( 2)做完实验后给出本实验的实验报告。三、实验设备、环境安装有 VisualStudio.NET 软件。四、实验步骤1、分析题意;2、根据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行与调试项目;6、保存项目。五、实验内容1、设计一个 Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、 中学生、 大学生派生类, 当输入相关数据, 单击不用的按钮时,将分别创建不同的学生类对象,并输出当前学生的总人数,该学生的姓名, 学生 类型,平均成绩。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 窗体内的代码: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+=总人数:+Convert.ToString(Student.number)+,+姓名: +p.Name+,+ 小学生 +,+ 平均成绩为: +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+=总人数:+Convert.ToString(Student.number)+,+姓名: +m.Name+,+ 中学生 +,+ 平均成绩为: +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+=总人数:+Convert.ToString(Student.number)+,+姓名: +c.Name+,+ 大学生 +,+ 平均成绩为: +c.Average()+n;2、设计一个Windows应用程序,在该程序中定义平面图形抽象类和派生类 圆,矩形和三角形。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、定义一个Person 类,包含姓名字段和一个方法,早上 8: 30 学生开始上课,教师开始讲课。分别用new关键字,虚方法,抽象类实现多

46、态性。New 关键字:usingSystem;usingusingSystem.Text;namespacethird.threeclassProgramstaticvoidMain(stringargs)Students=newStudent(学生);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(张三,学生);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(张三,学生);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);六、实验体会(遇到问题及解决办法,编程后的心得体会)通过本次实验, 我理解了类的继承性与多态性; 掌握了虚方法的定义以及如何用虚方法来实现多态;掌握了抽象类的定义以及如何用抽象方法来实现多态。这次实验与前两次不同,采用Windows应用程序,既涉及到代码段也涉及到界面 的设计。所以,勉强通过实验。实验项目名称:接口、文件和流实验学时:6同组学生姓名:实验地点:A205实验日期:12月7

53、日12月21日实验成绩:批改教师:批改时间:实验4接口、文件和流一、实验目的(1)掌握接口的定义及使用方法;(2)掌握流,序列化和反序列化的概念和使用方法;(3)掌握流文件的读写操作类及其使用方法;(4)掌握 OpenFileDialog , SaveFileDialog 等控件的使用。二、实验要求(1)编写程序要规范、正确,上机调试过程和结果要有记录;(2)做完实验后给出本实验的实验报告。三、实验设备、环境安装有 VisualStudio.NET 软件。四、实验步骤1、分析题意;2、根据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行与调试项目;6、保存项目。五、实验内容1、定义一

54、个Person类,包含姓名字段和一个方法,早上 8: 30学生开始上 课,教师开始讲课。用接口来实现。usingSystem;usingusingSystem.Text;namespaceTest4_1classProgramstaticvoidMain(stringargs)Students=newStudent(张三,学生);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(学生);publicTeacher(stringname,stringtype):base(name) =name;publicstringWork()returnstring.Format(Person0: 早上 8: 30 开始讲课 ,name);2、声明一个接口Iplayer ,包含 5 个接口方法:播放,停止,暂停,上一首和下一首。在该程序中定义一个MP3g放器类和一个AVI播放器类,以实现该 接口。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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论