Lập trình C# - Tính diện tích và chu vi Shape
Viết chương trình C# thực hiện các công việc sau:
- Tạo lớp trừu tượng Shape với các trường radius, length, width. Khai báo hai phương thức trừu tượng tính diện tính Area và tính chu vi Cirumference
- Tạo lớp Circle kế thừa từ Shape và thực thi các phương thức của lớp Shape
- Tạo lơps Rectangle kế thừa từ Shape và thực thi các phương thức của lớp Shape
- Trong Main viết code để test chương trình.
Bước 1: Kích chuột phải vào Solution chọn Add -> New Project ->Nhập tên (AbstractShap)-> Chọn OK.
Bước 2: Tạo lớp trừu tượng Shape và code theo gợi ý sau:
using System;
using System.Collections.Generic;
using System.Text;
namespace AbstractShap
{
abstract class Shap
{
private float radius;
private float length;
private float width;
public float Radius
{
get
{
return this.radius;
}
set
{
if (value < 0)
Console.WriteLine("Radius phải lớn hơn 0");
else
this.radius = value;
}
}
public float Length
{
get
{
return this.length;
}
set
{
if (value < 0)
Console.WriteLine("Chiều dài phải lớn hơn 0");
else
this.length = value;
}
}
public float Width
{
get
{
return this.width;
}
set
{
if (value < 0)
Console.WriteLine("Chiều rộng phải lớn hơn 0");
else
this.width = value;
}
}
public abstract float Area(); //Tính diện tích
public abstract float Cirumference(); // Tính chu vi
}
}
Bước 3: Tạo lớp Circle kế thừa lớ Shape và code theo gợi ý sau:
using System;
using System.Collections.Generic;
using System.Text;
namespace AbstractShap
{
class Circle:Shap
{
public void Input()
{
try
{
Console.WriteLine("Nhập bán kính");
Radius = float.Parse(Console.ReadLine());
}
catch(Exception ex)
{
Console.WriteLine("Bán kính phải là số");
}
}
public override float Area()
{
return 3.14F * Radius * Radius;
}
public override float Cirumference()
{
return 2 * 3.14F * Radius;
}
}
}
Bước 4: Tạo lớp Rectangle kế thừa lớp Shape và code theo gợi ý sau:
using System;
using System.Collections.Generic;
using System.Text;
namespace AbstractShap
{
class Rectangle:Shap
{
public void Input()
{
try
{
Console.WriteLine("Nhập chiều dài");
Length = float.Parse(Console.ReadLine());
Console.WriteLine("Nhập chiều rộng");
Width = float.Parse(Console.ReadLine());
}
catch (Exception ex)
{
Console.WriteLine("Chiều dài hoặc chiều rộng phải là số");
}
}
public override float Area()
{
return Length * Width;
}
public override float Cirumference()
{
return 2 * Length * Width;
}
}
}
Bước 5: Trong Program code test như sau:
using System;
using System.Text;
namespace AbstractShap
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
// Khai tạo hình chữ nhật
Rectangle rc = new Rectangle();
// Nhập thông tin hình chữ nhật
rc.Input();
// in thông tin hình chữ nhật
Console.WriteLine("Diện tích hình chữ nhật: {0}",rc.Area());
Console.WriteLine("Chu vi hình chữ nhật:{0}", rc.Cirumference());
// Khởi tạo hình tròn
Circle c = new Circle();
// Nhập thông tin hình tròn
c.Input();
// in thông tin hình tròn
Console.WriteLine("Diện tích hình tròn: {0}", c.Area());
Console.WriteLine("Chu vi hình tròn:{0}", c.Cirumference());
Console.ReadKey();
}
}
}
Bước 6: Nhấn Ctrl+F5 để chạy và xem kết quả
Nhập chiều dài
10
Nhập chiều rộng
20
Diện tích hình chữ nhật: 200
Chu vi hình chữ nhật:400
Nhập bán kính
6
Diện tích hình tròn: 113.04
Chu vi hình tròn:37.68