第三次上机实验参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三次上机实验参考答案
1、类对象的定义
【项目要求】定义一个圆类,计算圆的面积和周长。
(1)控制台应用程序的参考代码如下:
namespace SY3_1
{
class Program
{
static void Main(string[] args)
{
double r;
Console.Write("请输入圆的半径:");
r = Convert.ToDouble(Console.ReadLine());
Circle c1 = new Circle(r);
Console.WriteLine("圆周长 = {0}\n 圆面积 = {1}", c1.getCircumference(), c1.getArea());
Console.ReadLine();
}
}
class Circle
{
private double radius;
public Circle(double r)
{
radius = r;
}
public double getArea()
{
return Math.PI * radius * radius;
}
public double getCircumference()
{
return 2 * Math.PI * radius;
}
}
}//定义一个圆类,计算圆的面积和周长。
(2)用面向对象的思想实现Windows 应用程序,用户输入圆的半径,点击计算按钮能输出圆的面积和周长。界面如图3-2 所示。
图 3-1 圆类求面积和周长
参考代码如下:
namespace SY3_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double r;
r = Convert.ToDouble(tbRadius.Text);
Circle c1 = new Circle(r);
tbArea.Text = c1.getArea().ToString("F2");
tbPeri.Text = c1.getCircumference().ToString("F2");
}
class Circle
{
private double radius;
public Circle(double r)
{
radius = r;
}
public double getArea()
{
return Math.PI * radius * radius;
}
public double getCircumference()
{
return 2 * Math.PI * radius;
}
}
}
}
//用面向对象的思想实现Windows 应用程序,用户输入圆的半径,点击计算按钮能输出圆的面积和周长。
图 3-2 圆类求面积和周长
2、类的继承
【项目要求】编写一个程序,计算球、圆柱和圆锥的表面积和体积。
(1)定义一个基类圆,至少含有一个数据成员半径;
(2)定义基类的派生类球、圆柱、圆锥,都含有求体积的方法,可以都在构造方法中实现,也可以将求体积和输出写在一个方法或两个方法中,请比较使用;
(3)定义主方法,求球、圆柱和圆锥的表面积和体积。
参考代码如下:
namespace SY3_3
{
class MyCircle
{
double r;
public MyCircle(double r)
{
this.r = r;
}
}
class MyBall : MyCircle
{
double volumn;
public MyBall(double r) : base(r)
{
volumn = Math.PI * r * r * r;
Console.WriteLine("球的体积是:{0}", volumn);
}
}
class MyCylinder : MyCircle
{
double volumn;
public MyCylinder(double r, double h): base(r)
{
}
public void calvolumn(double r, double h)
{
volumn = Math.PI * r * r * h;
}
public void print()
{
Console.WriteLine("圆柱体的体积是:{0}", volumn);
}
class MyCone : MyCircle
{
double h, volumn;
public MyCone(double r, double h): base(r)
{
this.h = h;
}
public void calvolumn(double r, double h)
{
volumn = Math.PI * r * r * h / 3;
Console.WriteLine("圆锥体的体积是:{0}", volumn);
}
}
public class Test
{
public static void Main()
{
Console.Write("请输入球半径:");
double r = Convert.ToDouble(Console.ReadLine());
MyBall mb = new MyBall(r);
Console.Write("请输入圆柱体高度:");
double h = Convert.ToDouble(Console.ReadLine());
MyCylinder mc = new MyCylinder(r, h);
mc.calvolumn(r, h);
mc.print();
Console.Write("请输入圆锥体高度:");
double h2 = Convert.ToDouble(Console.ReadLine());
MyCone mo = new MyCone(r, h2);
Console.WriteLine("h2={0},r={1}", h2, r);
mo.calvolumn(r, h2);
Console.ReadLine();
}
}
}