Вычисление площади прямоугольника - C#
Формулировка задачи:
Задание:
Написать программу, которая определяет площадь прямоугольника со сторонами a и b. Если
пользователь вводит некорректные значения (отрицательные или ноль), должно выдаваться
сообщение об ошибке. Возможность ввода пользователем строки вида «абвгд» или нецелых чисел
игнорировать.
Ввожу буквенное значение - выдаёт сообщение об ошибке. Как быть?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace task_1
{
class Program
{
static void Main()
{
double result = 0;
go: Console.Write("A= ");
int a = int.Parse(Console.ReadLine());
// double a = char.Parse(Console.ReadLine());
Console.Write("B= ");
// double b = char.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
while (a>0 && b>0)
{
result = a * b;
Console.WriteLine("Д: {0}, Ш: {1}, Площадь: {2}", a, b, result);
goto end;
}
Console.WriteLine("Ошибка, попробовать еще раз? Y/N");
char retry = char.Parse(Console.ReadLine());
switch (retry)
{
case 'y': goto go;
case 'n': goto end;
}
end: Console.ReadLine();
}
}
}Решение задачи: «Вычисление площади прямоугольника»
textual
Листинг программы
static void Main()
{
int a = 0;
int b = 0;
bool repeat = true;
while (repeat)
{
do
{
Console.Write("A = ");
}
while (!int.TryParse(Console.ReadLine(), out a));
do
{
Console.Write("B = ");
}
while (!int.TryParse(Console.ReadLine(), out b));
if (a <= 0 || b <= 0)
{
Console.WriteLine("Ошибка, попробовать еще раз? Y/N");
var ki = Console.ReadKey(true);
if (ki.Key != ConsoleKey.Y)
repeat = false;
continue;
}
Console.WriteLine("Д: {0}, Ш: {1}, Площадь: {2}", a, b, a * b);
repeat = false;
Console.ReadKey();
}
}