C#基础编程设计实验报告Word格式.docx
《C#基础编程设计实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《C#基础编程设计实验报告Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
"
);
}
}}2、编写一个简单的dows应用程序,在窗体Load事件中书写代码,标签中显示你的姓名。
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drag;
usingSystem.Linq;
usingSystem.dows.Forms;
namespaceone.second{
publicpartialclassForm1:
Form
publicForm1
InitializeComponent;
privatevoidForm1_Load(objectsender,EventArgse)
this.Te_t="
dows程序"
;
LabellblShow=newLabel;
lblShow.Location=newPoint(20,30);
lblShow.AutoSize=true;
lblShow.Te_t="
王蕾!
this.Controls.Add(lblShow);
}
}3、编写一个一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符。
namespaceone.third{
Console.WriteLine("
请输入一个字符:
charc=Convert.ToChar(Console.ReadLine);
if((c>
="
a"
&
c="
A"
c7、实现数组型数组的输入和输出。
namespacefirst.seven{
int[][]a=newint[][]{newint[]{1,2,3},newint[]{4,5,6}};
for(inti=0;
i心得体会)
刚开始编程的时候觉得无从下手,尽管我们已经学了好几种高级编程语言,但每个都有其独特的地方,稍不留神就会混淆。
通过这次实验,我体会到课后复习巩固的重要性。
在编程的时候,很多内容都不记得,需要去翻书。
不得不说,实验是巩固课程的好方法!
本次实验,我熟悉VisualStudio.开发环境;
掌握了C#应用程序的基本操作过程;
掌握了C#的数据类型,运算符以及表达式的使用;
掌握了分支和循环语句的使用方法以及一维数组,二维数组及数组型数组的使用。
实验项目名称:
类与对象
实验学时:
6
同组学生姓名:
实验地点:
1318
实验日期:
10月26日-11月9日实验成绩:
批改教师:
批改时间:
实验2
一、实验目的、要求
(1)掌握类的定义和使用;
(2)掌握类的数据成员,属性的定义和使用;
(3)掌握方法的定义,调用和重载以及方法参数的传递;
(4)掌握构造函数的定义和使用。
(1)编写程序要规范、正确,上机调试过程和结果要有记录;
(2)做完实验后给出本实验的实验报告。
1、分析^p题意;
题目要求,新建项目;
3、编写并输入相关的程序代码;
5、运行与调试项目;
1、定义一个方法,实现两个数的交换(分别把参数按值传递和按引用传递)。
usingSystem.Collections.Generic;
namespacesecond.one{
Swapers=newSwaper;
输入_的值:
inta=Convert.ToInt32(Console.ReadLine);
输入y的值:
intb=Convert.ToInt32(Console.ReadLine);
Console.WriteLine(s.Swap(a,b));
Console.WriteLine(s.Swap(refa,refb));
classSwaper
publicstringSwap(int_,inty)
inttemp;
temp=_;
_=y;
y=temp;
returnstring.Format("
按值传参交换之后:
_={0},y={1}"
_,y);
publicstringSwap(refint_,refinty)
按引用传参交换之后:
_,y);
}}2、定义一个方法,实现数组的排序。
namespacesecond.two{
publicclasssort
publicvoidchange(int[]a)
排序前,数组顺序为:
show(a);
inti,j,m;
for(i=0;
i=0&
m>
a[j])//判断i下标的数是否大于j下标的数
a[j+1]=a[j];
//如果i下标大于j把j往后移一个位
j--;
a[j+1]=m;
//当不大于j的时候就把M的值放到i下标下面j+1是为了下标减到最前时考虑-1+1还是下标的最前面
排序后,数组顺序为:
voidshow(int[]a)
inti;
istu[k].sumScore)k=j;
if(k!
=i)
Studenttemp;
temp=stu[k];
stu[k]=stu[i];
stu[i]=temp;
//显示单科成绩的最高分
publicintHighScore(intk)
intp=0;
if(k==0)
for(inti=1;
istu[p].math)p=i;
elseif(k==1)
istu[p].chinese)p=i;
else
returnp;
//显示不及格
publicstring
BuhgName(intk)
stringname="
"
i90)&
(stu[i].chinese90)&
(stu[i].math90)&
(stu[i].english心得体会)
通过本次实验,我掌握了类的定义与使用;
掌握了类的数据成员,属性的定义和使用;
掌握了方法的定义,调用和重载以及方法参数的传递以及构造函数的定义和使用。
值得注意的是:
本次实验中return的使用以及所在的位置,类型转换时也经常用到
继承与多态
11月16日-11月30日实验成绩:
实验3
(1)掌握类的继承性与多态性;
(2)掌握虚方法的定义以及如何使用虚方法实现多态;
(3)掌握抽象类的定义以及如何使用抽象方法实现多态;
五、实验内容
1、设计一个dows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生派生类,当输入相关数据,单击不用的按钮时,将分别创建不同的学生类对象,并输出当前学生的总人数,该学生的姓名,学生类型,平均成绩。
Student类:
namespaceTest3_1{
publicabstractclassStudent
protectedstringname;
protectedintage;
publicstaticintnumber;
publicStudent(stringname,intage)
this.name=name;
this.age=age;
number++;
publicstringName
get{returnname;
}
publicabstractdoubleAverage;
publicclassPupil:
Student
protecteddoublechinese;
protecteddoublemath;
publicPupil(stringname,intage,doublechinese,doublemath)
:
base(name,age)
this.chinese=chinese;
this.math=math;
publicoverridedoubleAverage
return(chinese+math)/2;
publicclassMiddle:
protecteddoubleenglish;
publicMiddle(stringname,intage,double
chinese,doublemath,doubleenglish)
this.english=english;
return(chinese+math+english)/3;
publicclassCollege:
protecteddoublerequired;
protecteddoubleelective;
publicCollege(stringname,intage,doublerequired,doubleelective)
this.required=required;
this.elective=elective;
return(required+elective)/2;
}}Form窗体内的代码:
usingSystem.dows.Forms;
privatevoidbtnSmall_Click(objectsender,EventArgse)
Pupilp=newPupil(t_tName.Te_t,Convert.ToInt32(t_tAge.Te_t),Convert.ToDouble(t_tChinese.Te_t),Convert.ToDouble(t_tMath.Te_t));
lblShow.Te_t+="
总人数:
+Convert.ToString(Student.number)+"
"
+"
姓名:
+p.Name+"
小学生"
平均成绩为:
+p.Average+"
\n"
privatevoidbtnMiddle_Click(objectsender,EventArgse)
Middlem=newMiddle(t_tName.Te_t,Convert.ToInt32(t_tAge.Te_t),Convert.ToDouble(t_tChinese.Te_t),Convert.ToDouble(t_tMath.Te_t),Convert.ToDouble(T_tEnglish.Te_t));
+Convert.ToString(Student.number)+"
+m.Name+
中学生"
+m.Average+"
privatevoidbtnBig_Click(objectsender,EventArgse)
Collegec=newCollege(t_tName.Te_t,Convert.ToInt32(t_tAge.Te_t),Convert.ToDouble(t_tChinese.Te_t),Convert.ToDouble(t_tMath.Te_t));
+c.Name+"
大学生"
+c.Average+"
}}2、设计一个dows应用程序,在该程序中定义平面图形抽象类和派生类圆,矩形和三角形。
Figure类代码:
namespaceTest3_2
publicabstractclassFigure
publicabstractdoubleArea;
publicclassCircle:
Figure
doubleradius;
publicCircle(doubler)
radius=r;
publicoverridedoubleArea
returnradius_
radius_
3.14;
publicclassJU_ing:
doublechang;
doublekuan;
publicJU_ing(doublec,doublek)
this.chang=c;
this.kuan=k;
returnchang_
kuan;
publicclassSan:
doublebian;
doubleheigth;
publicSan(doubleb,doubleh)
this.bian=b;
this.heigth=h;
returnbian_
heigth/2;
}}Form窗体代码:
namespaceTest3_2{
privatevoidbtnCircle_Click(objectsender,EventArgse)
Circlec=new
Circle(Convert.ToInt32(T_tChang.Te_t));
圆的面积为:
+c.Area;
privatevoidbtnJu_Click(objectsender,EventArgse)
JU_ingj=newJU_ing(Convert.ToInt32(T_tChang.Te_t),Convert.ToInt32(T_tHigh.Te_t));
矩形的面积为:
+j.Area;
privatevoidbtnSan_Click(objectsender,EventArgse)
Sans=newSan(Convert.ToInt32(T_tChang.Te_t),Convert.ToInt32(T_tHigh.Te_t));
三角形的面积为:
+s.Area;
}}
3、定义一个Person类,包含姓名字段和一个方法,早上8:
30学生开始上课,教师开始讲课。
分别用new关键字,虚方法,抽象类实现多态性。
New关键字:
namespacethird.three{
Students=newStudent("
学生"
Teachert=newTeacher("
教师"
Console.WriteLine(s.name+s.work);
Console.WriteLine(t.name+t.work);
Console.ReadLine;
publicclassPerson
publicstringname;
publicinterfacemethod
{stringwork;
publicclassStudent:
Person
publicStudent(stringname)
{this.name=name;
publicstringwork
{return"
早上8:
30开始上课"
publicclassTeacher:
publicTeacher(stringname)
开始讲课"
}}虚方法:
namespacethird.three.two{
Students=newStudent("
张三"
PersonWork(s);
李斯"
PersonWork(t);
privatestaticvoidPe