您好,欢迎访问三七文档
实验项目名称:实验学时:同组学生姓名:实验地点:实验日期:实验成绩:批改教师:批改时间:一、实验目的和要求实验目的:1、理解面向对象的概念,掌握C#的定义类和创建对象的方法。2、区分类的不同数据成员,包括常量、字段、和属性的定义方法,并学会控制其可访问性。3、掌握类的方法成员的声明与调用,理解各种参数在方法中的意义及使用。4、理解构造函数和析构函数的作用机制。实验要求:1、熟悉VisualStudio.NET2010的基本操作方法。2、认真阅读本章相关内容,尤其是案例。3、实验前进行程序设计,完成源程序的编写任务。4、反复操作,直到不需要参考教材、能熟练操作为止。二、实验设备及环境设备:奔腾4及奔腾4以上计算机环境:VisualStudio.NET2010三、实验任务1、设计一个简单的Windows应用程序,在文本框中输入两个点的坐标值,单击“确定”按钮时显示两点之间的距离。要求定义一个Point类,包括:(1)两个私有字段表示两个坐标值。(2)一个构造函数通过传入的参数对坐标值初始化。(3)两个只读属性对坐标值的读取。(4)一个方法包含一个Point类对象作为形参该对象和自己的距离。2、自定义一个时间类。该类包含小时、分、秒、字段与属性,具有将秒增加1秒的方法。要求定义一个Time类,包括:(1)三个私有字段表示时、分、秒。(2)两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间。(3)三个只读属性实现对时、分、秒的读取。(4)一个方法用于对秒增加1秒(注意60进位的问题)。3、设计一个Windows应用程序,在该程序中定义一个类和班级类,以处理每个学生的学号、姓名,语文、数学和英语三门课程的期末考试成绩,要求:(1)能查询每个学生的总成绩。(2)能显示全班前三名的名单。(3)能显示单科成绩最高分和不及格的学生名单。(4)能统计全班学生的平均成绩。(5)能显示各科成绩在不同分数段的学生人数百分比。设计提示:(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩、英语成绩)和属性(总成绩)等。(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等。(3)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按键时把这些信息添加到班级对象的学生数组中。当单击“完成”按钮时调用班级类的方法来显示所要求统计的统计结果。当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学生的总成绩。四、实验结果与分析1、privatevoidbutton1_Click(objectsender,EventArgse){intx1,y1,x2,y2;x1=Convert.ToInt16(textBox1.Text);y1=Convert.ToInt16(textBox2.Text);x2=Convert.ToInt16(textBox3.Text);y2=Convert.ToInt16(textBox4.Text);Pointp1=newPoint(x1,y1);Pointp2=newPoint(x2,y2);label7.Text=p1.Distance(p2).ToString();}classPoint{publicintX,Y;publicPoint(intI,intJ){X=I;Y=J;}publicdoubleDistance(Pointp){returnSystem.Math.Sqrt((this.X-p.X)*(this.X-p.X)+(this.Y-p.Y)*(this.Y-p.Y));}}实验结果:2、privatevoidbutton1_Click(objectsender,EventArgse){Timet=newTime();texthour.Text=Convert.ToString(t.Gethour());textminute.Text=Convert.ToString(t.Getminute());textsecond.Text=Convert.ToString(t.Getsecond());}classTime{inthour,minute,second;publicintGethour(){returnhour;}publicintGetminute(){returnminute;}publicintGetsecond(){returnsecond;}publicTime(){hour=System.DateTime.Now.Hour;minute=System.DateTime.Now.Minute;second=System.DateTime.Now.Second;}publicTime(inth,intm,ints){hour=h;minute=m;second=s;}publicvoidAddSecond(){second++;if(second=60){second=second%60;minute++;}if(minute=60){minute=minute%60;hour++;}}}实验结果:3、namespace_43{classProgram{privatestaticStudentListstulist;staticvoidMain(string[]args);{stulist=newStudentList();Studentstu1=newStudent(“1105303001”,”zhangsan”,90,85,89);Studentstu2=newStudent(“1105303002”,”lisi”,75,85,94);Studentstu3=newStudent(“1105303003”,”wanger”,90,79,80);Studentstu4=newStudent(“1105303004”,”qianyi”.30,50,55);Studentstu5=newStudent(“1105303005”,”sunwu”,45,67,38);stulist.Add(stu1);stulist.Add(stu2);stulist.Add(stu3);stulist.Add(stu4);stulist.Add(stu5);stringstr;str=Console.ReadLine();if(str.Equal(“语文”)||str.Equals(“数学”)||str.Equals(“英语”))stulist.searchSubject(str);elsestulist.searchName(str);Console.ReadLine();}ClassStudent{privatestringnumber;privatestringname;privatefloatchinese;privatefloatmath;privatefloatenglish;publicStudent(stringnumber,stringname,floatchinese,floatmath,floatenglish){this.number=number;this.name=name;this.chinese=chinese;this.math=math;this.english=english;}publicstringNumber{get{returnthis.number;}}publicstringName{get{returnthis.name;}}publicfloatChinese{set{this.chiese=value;}get{returnthis.chinese;}}publicfloatMath{set{this.math=value;}get{returnthis.math;}}publicfloatEnglish{set{this.english=value;}get{returnthis.english;}}publicfloatTotal{get{returnchinese+math+english;}}}ClassStudentList{privateListStudentlist=newListStudent();privatefloatchieseAver;privatefloatmathAver;privatefloatenglishAver;privatefloattotalAver;publicvoidAdd(Students){this.list.Add(s);}publicfloatChineseAver{get{floats=0;foreach(Studentstuinlist){s+=stu.Chinese;}chineseAver=s/list.Count;returnchineseAver;}}publicfloatMathAver{get{floats=0;foreach(Studentstuinlist){s+=stu.Math;}mathAver=s/list.Count;returnmathAver;}}publicfloatEnglishAver{get{floats=0;foreach(Studentstuinlist){s+=stu.English;}englishAver=s/list.Count;returnenglishAver;}}publicfloatTotalAver{get{floats=0;foreach(Studentstuinlist){s+=stu.Total;}totalAver=s/list.Count;returntotalAver;}}publicvoidsearchName(stringname){foreach(Studentstuinlist){if(stu.Name.Equals(name))Console.WriteLine(“学号:{0},姓名:{1},语文:{2},数学:{3},英语:{4}”,stu.Number,stu.Name,stu.Chinese,stu.Math,stu.English);}}publicvoicsearchSubject(stringsubject){switch(subject){case”语文”;floatmax=0;foreach(Studentstuinlist){if(maxstu.Chinese)max=stu.Chinese;if(stu.Chinese60)Console.WriteLine(string.Format(“学号:”+stu.Number+”姓名:{0},语文:{1}”,stu.Name,stu.Chinese));}Console.WriteLine(“最高分{0}”,max);break;case”数学”;floatmax1=0;foreach(Studentstuinlist){if(max1stu.Math)max1=stu.Math;if(stu.Math60)Console.WriteLine(string.Format(“学号:”+stu.Number+”姓名:{0},语文:{1}”,stu.Name,stu.Math));}Console.WriteLine(“最高分{0}”,max1);break;case”英语”;floatmax2=0;foreach(Studentstuinlist){if(max2stu.English)max2=stu.English;if(stu.English60)Console.WriteLine(string.Format(“学号:”+stu.Number+”姓名:{0},语文:{1}”,stu.Name,stu.English);}Console.WriteLine(“最高分{0}”,max2);brea
本文标题:C-实验报告[1]
链接地址:https://www.777doc.com/doc-6001822 .html