C#基础编程设计试验汇报

上传人:卷*** 文档编号:141030643 上传时间:2022-08-23 格式:DOCX 页数:50 大小:27.20KB
收藏 版权申诉 举报 下载
C#基础编程设计试验汇报_第1页
第1页 / 共50页
C#基础编程设计试验汇报_第2页
第2页 / 共50页
C#基础编程设计试验汇报_第3页
第3页 / 共50页
资源描述:

《C#基础编程设计试验汇报》由会员分享,可在线阅读,更多相关《C#基础编程设计试验汇报(50页珍藏版)》请在装配图网上搜索。

1、C#基础编程设计试验汇报 c#基础编程设计试验汇报一、试验目标1、熟悉开发环境。2、掌握c#应用程序的基础操作过程。3、掌握c#的数据类型,运算符和表示式的使用。4、掌握分支和循环语句的使用方法。5、掌握一维数组,二维数组及数组型数组的使用。二、试验要求(1)编写程序要规范、正确,上机调试过程和结果要有统计(2)做完试验后给出本试验的试验汇报。三、试验设备、环境安装有软件。四、试验步骤1、分析题意。2、依据题目要求,新建项目。3、编写并输入相关的程序代码。5、运行和调试项目。6、保留项目。五、试验内容1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。usingSystem;clas

2、sProgramstaticvoidmain(stringargs)("我叫王蕾!");2、编写一个简单的windows应用程序,在窗体Load事件中书写代码,标签中显示你的姓名。usingSystem;publicpartialclassForm1:FormpublicForm1Initializecomponent ;privatevoidForm1_Load(objectsender,EventArgse)="windows程序"LabellblShow=newLabel ;=newPoint(20,30);=true;="王蕾!&quo

3、t;(lblShow);3、编写一个一个程序,用来判定输入的是大写字母,小写字母,数字还是其它的字符。usingSystem;classProgramstaticvoidmain(stringargs)("请输入一个字符:");charc=( );if(c>=a&&c<=z)|(c>=A&&c<=Z)("这是一个字母");if(c)("这是一个数字");4、分别用while,do-while,for循环求1到100的和。usingSystem;classProgramstatic

4、voidmain(stringargs)inti=1,sum=0;while(i<=100)sum=sum+i;i+;("1到100的自然数之和为:"+sum);usingSystem;classProgramstaticvoidmain(stringargs)inti=1,sum=0;dosum=sum+i;i+;while(i<=100);("1到100的自然数的和为:"+sum);usingSystem;classProgramstaticvoidmain(stringargs)inti,sum=0;for(i=1;i<=100;

5、i+)sum=sum+i;("1到100的自然数的和为:"+sum);5、定义一个一维数组,用随机数为此赋值,用foreach循环输出其中的内容。usingSystem;classProgramstaticvoidmain(stringargs)inta=0,1,2,3,4;foreach(intiina)(ai);6、实现二维数组的输入和输出。usingSystem;classProgramstaticvoidmain(stringargs)int,a=newint2,31,2,3,4,5,6;for(inti=0;i<2;i+)for(intj=0;j<3;

6、j+)(ai,j);7、实现数组型数组的输入和输出。usingSystem;classProgramstaticvoidmain(stringargs)inta=newintnewint1,2,3,newint4,5,6;for(inti=0;i<i+)for(intj=0;j<ai.Length;j+)(aij);六、试验体会(碰到问题及处理措施,编程后的心得体会)刚开始编程的时候以为无从下手,尽管我们已经学了好几个高级编程语言,但每个全部有其独特的地方,稍不留神就会混淆。经过这次试验,我体会到课后复习巩固的主要性。在编程的时候,很多内容全部不记得,需要去翻书。不得不说,试验是巩

7、固课程的好方法!此次试验,我熟悉开发环境;掌握了c#应用程序的基础操作过程;掌握了c#的数据类型,运算符和表示式的使用;掌握了分支和循环语句的使用方法和一维数组,二维数组及数组型数组的使用。试验项目名称:类和对象试验课时:6同组学生姓名:试验地点:1318试验日期:10月26日-11月9日试验成绩:批改老师:批改时间:试验2类和对象一、试验目标、要求(1)掌握类的定义和使用;(2)掌握类的数据组员,属性的定义和使用;(3)掌握方法的定义,调用和重载和方法参数的传输;(4)掌握结构函数的定义和使用。二、试验要求(1)编写程序要规范、正确,上机调试过程和结果要有统计;(2)做完试验后给出本试验的试

8、验汇报。三、试验设备、环境安装有软件。四、试验步骤1、分析题意;2、依据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行和调试项目;6、保留项目。五、试验内容1、定义一个方法,实现两个数的交换(分别把参数按值传输和按引用传输)。usingSystem;classProgramstaticvoidmain(stringargs)Swapers=newSwaper ;("输入x的值:");inta=( );("输入y的值:");intb=( );(a,b);(refa,refb);classSwaperpublicstringSwap(intx,i

9、nty)inttemp;temp=x;x=y;y=temp;("按值传参交换以后:x=0,y=1",x,y);publicstringSwap(refintx,refinty)inttemp;temp=x;x=y;y=temp;("按引用传参交换以后:x=0,y=1",x,y);2、定义一个方法,实现数组的排序。usingSystem;classProgrampublicclasssortpublicvoidchange(inta)("排序前,数组次序为:");show(a);inti,j,m;for(i=0;i<10;i+)m

10、=ai;j=i-1;/aj为数组前一个值while(j>=0&&m>aj)/判定i下标的数是否大于j下标的数aj+1=aj;/假如i下标大于j把j往后移一个位j-;aj+1=m;/当小于j的时候就把m的值放到i下标下面j+1是为了下标减到最前时考虑-1+1还是下标的最前面("排序后,数组次序为:");show(a);voidshow(inta)inti;for(i=0;i<10;i+)("0",ai);staticvoidmain(stringargs)inta=4,7,1,2,5,8,9,10,3,6;sorts=ne

11、wsort ;(a);3、定义一个学生类,把学生类看成对象来传输。usingSystem;classProgrampublicclassstudentpublicvoidstinta=999;publicclassstpublicvoidaa(students)(s);staticvoidmain(stringargs)students=newstudent ;sts1=newst ;(s);4、定义一个方法,求两个数的和和差,经过参数把这两个值带回。usingSystem;namespaceclassProgrampublicclasssumpublicvoidab(outintm,outi

12、ntn,inta,intb)m=a+b;n=a-b;staticvoidmain(stringargs)sums=newsum ;inta=10;intb=3;intm,n;(outm,outn,a,b);("0+1=2;0-1=3",a,b,m,n);5、用结构函数重载,实现矩形的面积,圆的面积,梯形的面积;usingSystem;classProgrampublicclasssquarepublicdoublearea;publicsquare publicsquare(doublea)area=a*a*;publicsquare(doublea,doubleb)are

13、a=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);("求矩形面积,长为a=0,宽为b=1,面积area=2",a,b,);squarei=newsquare(a);("求圆形面积,半径a=0,面积area=1",a,);squarej=newsquare(a,b,h);("求梯形面积,上底为a=0,下底为b=1,高为h=2面积

14、area=3",a,b,h,);6、设计一个windows应用程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号,姓名,语文,数学和英语成绩,要求:1)能查询每个学生的总成绩。2)能显示全班前三名的名单。3)能显示单科成绩最高分和不及格的学生名单。4)能统计全班学生的平均成绩。5)能显示各科成绩不一样分数段的学生人数的百分比。Student类:usingSystem;namespaceTest2_6publicclassStudentpublicstringstuNo;publicstringname;publicdoublechinese;publicdoublemath

15、;publicdoubleenglish;publicdoublesumScoregetreturnchinese+math+english;StudentList类:usingSystem;namespaceTest2_6publicclassStudentList:Studentintsnums;publicStudentstu=newStudent50;publicStudentListsnums=0;publicvoidaddstu(Students)stusnums=s;snums+;publicintsearchstu(stringname)inti;for(i=0;i<sn

16、ums;i+)if(stui.name=name)break;if(i=snums)return-1;elsereturni;/给全部成绩排序,用后面实现前三名的排名publicvoidProThreefor(inti=0;i<snums;i+)intk=i;for(intj=i+1;j<snums;j+)if(stuj.sumScore>stuk.sumScore)k=j;if(k!=i)Studenttemp;temp=stuk;stuk=stui;stui=temp;/显示单科成绩的最高分publicintHighScore(intk)intp=0;if(k=0)for

17、(inti=1;i<snums;i+)if(stui.math>stup.math)p=i;elseif(k=1)for(inti=1;i<snums;i+)if(stui.chinese>stup.chinese)p=i;elsefor(inti=1;i<snums;i+)if(stui.chinese>stup.chinese)p=i;returnp;/显示不及格名单publicstringBuhgName(intk)stringname=""if(k=0)for(inti=0;i<snums;i+)if(stui.math&l

18、t;60)name+=stui.name+"n"elseif(k=1)for(inti=0;i<snums;i+)if(stui.chinese<60)name+=stui.name+"n"elsefor(inti=0;i<snums;i+)if(stui.english<60)name+=stui.name+"n"returnname;publicstringgetHLstringmaxer="",Loser=""maxer+="单科数学最高:"+s

19、tuHighScore(0).name+"n"maxer+="单科语文最高:"+stuHighScore(1).name+"n"maxer+="单科英语最高:"+stuHighScore(2).name+"n"Loser+="单科数学挂科名单:"+BuhgName(0)+"n"Loser+="单科语文挂科名单:"+BuhgName(1)+"n"Loser+="单科英语挂科名单:"+BuhgName

20、(2)+"n"returnmaxer+"n"+Loser;/全班的平均成绩publicstringSumScoredoublesum=0;doubleavg=0;for(inti=0;i<snums;i+)sum=sum+stui.sumScore;avg=sum/snums;return"班级总分平均分:"+avg;/各科成绩不一样分数段的学生百分比/英语成绩各分数段百分比publicstringPercdoubleper1,per2,per3,per4,per5;doublesumc1=0,sumc2=0,sumc3=0,s

21、umc4=0,sumc5=0;for(inti=0;i<snums;i+)if(stui.chinese>90)&&(stui.chinese<=100)sumc1+;elseif(80<=stui.chinese)&&(stui.chinese<90)sumc2+;elseif(70<=stui.chinese)&&(stui.chinese<80)sumc3+;elseif(60<=stui.chinese)&&(stui.chinese<70)sumc4+;elsesum

22、c5+;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;/数学成绩各分数段百分比publicstringPermdoubleper1,per2,per3,per4

23、,per5;doublesumc1=0,sumc2=0,sumc3=0,sumc4=0,sumc5=0;for(inti=0;i<snums;i+)if(stui.math>90)&&(stui.math<=100)sumc1+;elseif(80<=stui.math)&&(stui.math<90)sumc2+;elseif(70<=stui.math)&&(stui.math<80)sumc3+;elseif(60<=stui.math)&&(stui.math<70)s

24、umc4+;elsesumc5+;per1=sumc1/snums;per2=sumc2/snums;per3=sumc3/snums;per4=sumc4/snums;per5=sumc5/snums;("数学成绩百分比:"+"n"+"90100:"+per1+"8090:"+per2+"8070:"+per3+"7060:"+per4+"60以下的:"+per5);/英语成绩各分数段百分比publicstringPerEdoubleper1,per2,

25、per3,per4,per5;doublesumc1=0,sumc2=0,sumc3=0,sumc4=0,sumc5=0;for(inti=0;i<snums;i+)if(stui.english>90)&&(stui.english<=100)sumc1+;elseif(80<=stui.english)&&(stui.english<90)sumc2+;elseif(70<=stui.english)&&(stui.english<80)sumc3+;elseif(60<=stui.englis

26、h)&&(stui.english<70)sumc4+;elsesumc5+;per1=sumc1/snums;per2=sumc2/snums;per3=sumc3/snums;per4=sumc4/snums;per5=sumc5/snums;("数学成绩百分比:"+"n"+"90100:"+per1+"8090:"+per2+"8070:"+per3+"7060:"+per4+"60以下的:"+per5);From窗体代码:us

27、ingSystem;namespaceTest2_6publicpartialclassForm1:FormpublicForm1Initializecomponent ;publicStudentListsl=newStudentList ;privatevoidbtnAdd_click(objectsender,EventArgse)Students=newStudent ;=;=;= ;= ;= ;(s);("添加成功");privatevoidbtnSearch_click(objectsender,EventArgse)intpos= ;if(pos!=-1)=+

28、"的总成绩:"+pos.sumScore;else("不存在这个人!");privatevoidbtnFinish_click(objectsender,EventArgse)="前3名:"+"n"for(inti=0;i<3;i+);+=i.name+"n"+= +"n"+=( )+"n"+= +"n"+= +"n"+= +"n"六、试验体会(碰到问题及处理措施,编程后的心得体会)经过此次

29、试验,我掌握了类的定义和使用;掌握了类的数据组员,属性的定义和使用;掌握了方法的定义,调用和重载和方法参数的传输和结构函数的定义和使用。值得注意的是:此次试验中return的使用和所在的位置,类型转换时也常常用到试验项目名称:继承和多态试验课时:6同组学生姓名:试验地点:1318试验日期:11月16日-11月30日试验成绩:批改老师:批改时间:试验3继承和多态一、试验目标、要求(1)掌握类的继承性和多态性;(2)掌握虚方法的定义和怎样使用虚方法实现多态;(3)掌握抽象类的定义和怎样使用抽象方法实现多态;二、试验要求(1)编写程序要规范、正确,上机调试过程和结果要有统计;(2)做完试验后给出本试

30、验的试验汇报。三、试验设备、环境安装有软件。四、试验步骤1、分析题意;2、依据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行和调试项目;6、保留项目。五、试验内容1、设计一个windows应用程序,在该程序中首先结构一个学生基础类,再分别结构小学生、中学生、大学生派生类,当输入相关数据,单击不用的按钮时,将分别创立不一样的学生类对象,并输出目前学生的总人数,该学生的姓名,学生类型,平均成绩。Student类:usingSystem;namespaceTest3_1publicabstractclassStudentprotectedstringname;protectedintag

31、e;publicstaticintnumber;publicStudent(stringname,intage)=name;=age;number+;publicstringNamegetreturnname;publicabstractdoubleAverage ;publicclassPupil:Studentprotecteddoublechinese;protecteddoublemath;publicPupil(stringname,intage,doublechinese,doublemath)base(name,age)=chinese;=math;publicoverrided

32、oubleAveragereturn(chinese+math)/2;publicclassmiddle:Studentprotecteddoublechinese;protecteddoublemath;protecteddoubleenglish;publicmiddle(stringname,intage,doublechinese,doublemath,doubleenglish)base(name,age)=chinese;=math;=english;publicoverridedoubleAveragereturn(chinese+math+english)/3;publiccl

33、asscollege:Studentprotecteddoublerequired;protecteddoubleelective;publiccollege(stringname,intage,doublerequired,doubleelective)base(name,age)=required;=elective;publicoverridedoubleAveragereturn(required+elective)/2;Form窗体内的代码:;namespaceTest3_1publicpartialclassForm1:FormpublicForm1Initializecompon

34、ent ;privatevoidbtnSmall_click(objectsender,EventArgse)Pupilp=newPupil(, , , );+="总人数:"+ +","+"姓名:"+","+"小学生"+","+"平均成绩为:"+ +"n"privatevoidbtnmiddle_click(objectsender,EventArgse)middlem=newmiddle(, , , , );+="总人数:&

35、quot;+ +","+"姓名:"+","+"中学生"+","+"平均成绩为:"+ +"n"privatevoidbtnBig_click(objectsender,EventArgse)collegec=newcollege(, , , );+="总人数:"+ +","+"姓名:"+","+"大学生"+","+"平均成绩为:&

36、quot;+ +"n"2、设计一个windows应用程序,在该程序中定义平面图形抽象类和派生类圆,矩形和三角形。Figure类代码:usingSystem;namespaceTest3_2publicabstractclassFigurepublicabstractdoubleArea ;publicclasscircle:Figuredoubleradius;publiccircle(doubler)radius=r;publicoverridedoubleAreareturnradius*radius*;publicclassjUxing:Figuredoublecha

37、ng;doublekuan;publicjUxing(doublec,doublek)=c;=k;publicoverridedoubleAreareturnchang*kuan;publicclassSan:Figuredoublebian;doubleheigth;publicSan(doubleb,doubleh)=b;=h;publicoverridedoubleAreareturnbian*heigth/2;Form窗体代码:usingSystem;namespaceTest3_2publicpartialclassForm1:FormpublicForm1Initializecom

38、ponent ;privatevoidbtncircle_click(objectsender,EventArgse)circlec=newcircle( );="圆的面积为:"+ ;privatevoidbtnju_click(objectsender,EventArgse)jUxingj=newjUxing( , );="矩形的面积为:"+ ;privatevoidbtnSan_click(objectsender,EventArgse)Sans=newSan( , );="三角形的面积为:"+ ;3、定义一个Person类,包含

39、姓名字段和一个方法,早上8:30学生开始上课,老师开始讲课。分别用new关键字,虚方法,抽象类实现多态性。New关键字:usingSystem;classProgramstaticvoidmain(stringargs)Students=newStudent("学生");Teachert=newTeacher("老师");(+ );(+ );publicclassPersonpublicstringname;publicinterfacemethodstringwork ;publicclassStudent:PersonpublicStudent(st

40、ringname)=name;publicstringworkreturn"早上8:30开始上课"publicclassTeacher:PersonpublicTeacher(stringname)=name;publicstringworkreturn"开始讲课"虚方法:usingSystem;classProgramstaticvoidmain(stringargs)Students=newStudent("张三","学生");Personwork(s);Teachert=newTeacher("李斯

41、","老师");Personwork(t);privatestaticvoidPersonwork(PersonPerson)( );publicclassPersonpublicstringname;publicPerson(stringname)=name;publicvirtualstringwork("Person0:早上8:30开始",name);publicclassStudent:Personprivatestringtype;publicStudent(stringname,stringtype)base(name)=type;

42、publicoverridestringwork("Person0:早上8:30开始上课",name);publicclassTeacher:Personprivatestringtype;publicTeacher(stringname,stringtype)base(name)=type;publicoverridestringwork("Person0:开始讲课",name);抽象类:usingSystem;classProgramstaticvoidmain(stringargs)Students=newStudent("张三"

43、;,"学生");Personwork(s);Teachert=newTeacher("李斯","老师");Personwork(t);privatestaticvoidPersonwork(Personperson)( );publicabstractclassPersonpublicstringname;publicPerson(stringname)=name;publicabstractstringwork ;publicclassStudent:Personprivatestringtype;publicStudent(str

44、ingname,stringtype)base(name)=type;publicoverridestringwork("Person0:早上8:30开始上课",name);publicclassTeacher:Personprivatestringtype;publicTeacher(stringname,stringtype)base(name)=type;publicoverridestringwork("Person0:开始讲课",name);六、试验体会(碰到问题及处理措施,编程后的心得体会)经过此次试验,我了解了类的继承性和多态性;掌握了虚方

45、法的定义和怎样用虚方法来实现多态;掌握了抽象类的定义和怎样用抽象方法来实现多态。这次试验和前两次不一样,采取windows应用程序,既包括到代码段也包括到界面的设计。因此,勉强经过试验。试验项目名称:接口、文件和流试验课时:6同组学生姓名:试验地点:A205试验日期:12月7日12月21日试验成绩:批改老师:批改时间:试验4接口、文件和流一、试验目标(1)掌握接口的定义及使用方法;(2)掌握流,序列化和反序列化的概念和使用方法;(3)掌握流文件的读写操作类及其使用方法;(4)掌握openFileDialog,SaveFileDialog等控件的使用。二、试验要求(1)编写程序要规范、正确,上机

46、调试过程和结果要有统计;(2)做完试验后给出本试验的试验汇报。三、试验设备、环境安装有软件。四、试验步骤1、分析题意;2、依据题目要求,新建项目;3、编写并输入相关的程序代码;5、运行和调试项目;6、保留项目。五、试验内容1、定义一个Person类,包含姓名字段和一个方法,早上8:30学生开始上课,老师开始讲课。用接口来实现。usingSystem;namespaceTest4_1classProgramstaticvoidmain(stringargs)Students=newStudent("张三","学生");( );Teachert=newTea

47、cher("李四","老师");( );publicabstractclassPersonpublicstringname;publicPerson(stringname)=name;interfaceIPersonstringtypeget;stringwork ;publicclassStudent:Person,IPersonpublicstringtypeget("老师");publicStudent(stringname,stringtype)base(name)=name;publicstringwork("Person0:早上8:30开始上课",name);.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!