Нужно добавить исключения в простенькую программу - C#
Формулировка задачи:
Вот задание: оптимизировать программу, включив в нее обработку исключительных ситуаций: ввода данных, операции деления и др.
Вот уже написанная программа. Добавить нужно что-то вроде try- и catch- блоков.
double x1, x2, x3, y1, y2, y3, a, b, c, p;
Console.Write("Enter X1:");
x1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y1:");
y1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter X2:");
x2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y2:");
y2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter X3:");
x3 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y3:");
y3 = Convert.ToDouble(Console.ReadLine());
a = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
Console.WriteLine("a={0}", a);
b = Math.Sqrt(Math.Pow(x3 - x2, 2) + Math.Pow(y3 - y2, 2));
Console.WriteLine("b={0}", b);
c = Math.Sqrt(Math.Pow(x3 - x1, 2) + Math.Pow(y3 - y1, 2));
Console.WriteLine("c={0}", c);
p = (a + b + c);
Console.WriteLine("p={0}", p);
Console.ReadKey();Решение задачи: «Нужно добавить исключения в простенькую программу»
textual
Листинг программы
double x1, x2, x3, y1, y2, y3, a, b, c, p;
try
{
Console.Write("Enter X1:");
x1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y1:");
y1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter X2:");
x2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y2:");
y2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter X3:");
x3 = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter Y3:");
y3 = Convert.ToDouble(Console.ReadLine());
}
catch (FormatException ex)
{
Console.WriteLine("Не правильный формат данных\nНажмите любую кнопку");
Console.ReadKey();
return;
}
try
{
a = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
Console.WriteLine("a={0}", a);
b = Math.Sqrt(Math.Pow(x3 - x2, 2) + Math.Pow(y3 - y2, 2));
Console.WriteLine("b={0}", b);
c = Math.Sqrt(Math.Pow(x3 - x1, 2) + Math.Pow(y3 - y1, 2));
Console.WriteLine("c={0}", c);
p = (a + b + c);
}
catch (ArithmeticException ex)
{
Console.WriteLine("Ошибка в арифметической операции "+ex.Message);
Console.ReadKey();
return;
}
Console.WriteLine("p={0}", p);
Console.ReadKey();