using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Triangle
{
class InvalidTriangleException:ApplicationException
{
public InvalidTriangleException()
{
}
public InvalidTriangleException(string ex)
: base(ex)
{
}
}
class Triangle
{
double side1;
double side2;
double side3;
public Triangle(double side1, double side2, double side3)
{
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
double p=(side1+side2+side3)/2;
double heron=p*(p-side1)*(p-side2)*(p-side3);
if ((side1 <= 0 || side2 <= 0 || side3 <= 0))
{
throw new InvalidTriangleException("Sides of the triangle should not be negative");
}
else if (heron<0)
{
throw new InvalidTriangleException("Bad triangle dimesions");
}
}
public double findArea()
{
double p = findPerimeter() / 2;
System.Console.WriteLine("Perimeter of the triangle={0}", p);
double area = Math.Sqrt(p * (p - side1) * (p - side2) * (p - side3));
return area;
}
public double findPerimeter()
{
double perimeter = side1 + side2 + side3;
return perimeter;
}
}
class Program
{
static void Main(string[] args)
{
try
{
Triangle triangle1 = new Triangle(27.3, 11.9, 24);
Triangle triangle2 = new Triangle(-27.3, -11.9, -24);
Triangle triangle3 = new Triangle(1, 1, 7);
System.Console.WriteLine("The area of the triangle1=" + triangle1.findArea());
System.Console.WriteLine("The area of the triangle2=" + triangle2.findArea());
System.Console.WriteLine("The area of the triangle3=" + triangle3.findArea());
}
catch (InvalidTriangleException ite)
{
System.Console.WriteLine(ite.Message);
}
}
}
}
No comments:
Post a Comment