您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > c#实习6报告
实验报告实验六:结构和枚举实验目的:理解结构的含义与处理机制;掌握结构的使用方法;理解结构与类的区别。实验内容:一、1.创建并使用日期结构体。要求:定义一个日期的结构体MyDate,包含year、month、day,以及方法DisplayWeek()和DisplayDate()。输入年月日,显示日期及日期所对应的星期(可通过newDateTime(年,月,日).DayOfWeek获取日期对应的星期)。运行效果如图所示。注:请在实验数据记录及分析中写出相应的源程序代码,并写出①结构的定义格式;②结构的调用方式。2.学生成绩统计,实现以下要求:定义一个学生分数结构体StudentGrade,包含字段Name、Score,以及两个参数的构造函数。利用结构体StudentGrade,创建结构数组变量,存放若干学生的姓名和分数信息,计算平均分。运行效果如图所示。请在实验数据记录及分析中写出相应的源程序代码。3.计算3个坐标点构成的三角形的面积,实现以下要求:声明一个表示平面坐标系中的点的结构体CoOrds,包含字段x,y,以及带2个参数的构造函数。分别利用三种不同的方法(默认构造函数、有2个参数的构造函数、先声明在赋值),创建3个平面坐标点变量。求这3个平面坐标点所构成的三角形的面积。注意判断3个坐标点是否可以构成三角形。运行效果如图所示。请在实验数据记录及分析中写出相应的源程序代码。实验数据记录及分析(或程序及运行结果)第一题:namespaceConsoleApplication1{publicstructMyDate{publicintyear,month,day;实验报告publicMyDate(inty,intm,intd){year=y;month=m;day=d;}publicvoidDisplayWeek(){Console.WriteLine(星期为:{0},newDateTime(year,month,day).DayOfWeek);}publicvoidDisplayDate(){Console.WriteLine(日期为:{0}/{1}/{2},year,month,day);}}classProgram{staticvoidMain(string[]args){Console.Write(请输入年:);inty=int.Parse(Console.ReadLine());Console.Write(请输入月:);intm=int.Parse(Console.ReadLine());Console.Write(请输入日:);intd=int.Parse(Console.ReadLine());MyDated1=newMyDate(y,m,d);d1.DisplayDate();d1.DisplayWeek();Console.ReadKey();}}}1.结构的定义格式:[partial]struct结构名[类型形参][:基接口[类型形参约束]]{结构体}[;]2.结构的调用方式:①:可以使用new运算符创建结构对象(结构变量)。该语法将创建结构对象变量,并调用适当的构造函数以初始化结构成员。基本语法为:结构名结构变量名=new结构名([参数表])②:不使用new运算符,在初始化所有字段之前,字段都保持未赋值状态且对象不可用。基本语法为:结构名结构变量名;实验报告第二题:namespaceConsoleApplication1{namespaceConsoleApplication1{publicstructStudentGrade{publicstringName;publicfloatScore;publicStudentGrade(stringn,floats){Name=n;Score=s;}}classprogram{staticvoidMain(string[]args){StudentGrade[]grades={newStudentGrade(张三,99),newStudentGrade(李四,66),newStudentGrade(王五,88),newStudentGrade(赵六,77)};floatsum=0;foreach(StudentGradesgingrades){Console.WriteLine(姓名={0},分数={1},sg.Name,sg.Score);sum+=sg.Score;}Console.WriteLine(平均分={0},sum/grades.Length);Console.ReadKey();}}}}第三题:namespaceConsoleApplication1{publicstructCoOrds{publicintx,y;publicCoOrds(intp1,intp2){x=p1;y=p2;}}classProgram{staticvoidMain(string[]args){CoOrdscoords1=newCoOrds();Console.WriteLine(平面坐标点1:x={0},y={1},coords1.x,coords1.y);CoOrdscoords2=newCoOrds(10,20);实验报告Console.WriteLine(平面坐标点2:x={0},y={1},coords2.x,coords2.y);CoOrdscoords3;coords3.x=30;coords3.y=40;Console.WriteLine(平面坐标点3:x={0},y={1},coords3.x,coords3.y);doubleside1=Math.Sqrt(Math.Pow(coords1.x-coords2.x,2)+Math.Pow(coords1.y-coords2.y,2));doubleside2=Math.Sqrt(Math.Pow(coords1.x-coords3.x,2)+Math.Pow(coords1.y-coords3.y,2));doubleside3=Math.Sqrt(Math.Pow(coords3.x-coords2.x,2)+Math.Pow(coords3.y-coords2.y,2));if(side1+side2side3&&side1+side3side2&&side2+side3side1){doubleh=(side1+side2+side3)/2;doublearea=Math.Sqrt(h*(h-side1)*(h-side2)*(h-side3));Console.WriteLine(三角形的面积={0},area);}elseConsole.WriteLine(不能构成三角形!);Console.ReadKey();}}}评语:日期:年月日
本文标题:c#实习6报告
链接地址:https://www.777doc.com/doc-4699296 .html