namespace TriangleCalc;
public class Program
{
private double A { get; set; }
private double B { get; set; }
private double C { get; set; }
public void Triangle()
{
try
{
this.A = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("a is " + A);
this.B = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("b is " + B);
this.C = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("c is " + C);
} catch
{
throw (new Exception("Triangle's side must be a number"));
}
}
public void Area()
{
if (A + B > C && B + C > A && A + C >B )
{
var s = (A+B+C)/2;
var result = Math.Sqrt(s * (s - A) * (s - B) * (s - C));
Console.WriteLine("The area is " + result );
}
else
{
Console.WriteLine("Result is NaN");
}
}
public void Perimeter()
{
if (A + B > C && A + C > B && B + C > A)
{
var perimeter = A + B + C;
Console.WriteLine("The perimeter is " + perimeter);
}
else
{
Console.WriteLine("Such triangle doesn't exist");
}
}
}
public class Runner : Program
{
public static void Main(string[] args)
{
while (true)
{
Console.WriteLine("1-Start
2-Stop");
var input1 = Convert.ToInt32(Console.ReadLine());
if (input1 == 1)
{
var startProgram = Triangleİtems.Start;
}
else
{
throw (new Exception("Program must start with 1"));
}
var triangle = new Program();
triangle.Triangle();
triangle.Area();
triangle.Perimeter();
Console.WriteLine("You can end program with 2");
input1 = Convert.ToInt32(Console.ReadLine());
if (input1 == 2)
{
var stopProgram = Triangleİtems.Stop;
}
else
{
throw (new Exception("Program must stop with 2"));
}
}
}
}
public static class Triangleİtems
{
public static DateTime Start;
public static DateTime Stop;
public static DateTime StartProgram()
{
Start = DateTime.Now;
return Start;
}
public static DateTime StopProgram()
{
Stop = DateTime.Now;
return Stop;
}
}