Нужно ограничить ввод. Как сделать ? - C#
Формулировка задачи:
Есть программа, считает площадь треугольника. Вводятся две переменные. Как сделать, чтоб при вводе символа, отрицательного числа программа выдавала сообщение об ошибке и требовала ввести цифру. Но так, чтоб она не завершалась, а ждала правильного ввода ? Тип переменной должен быть double.
(программа использует библиотеку)
double a, b, c, p, st;
Console.WriteLine("Построить прямоугольный треугольник и посчитать его площадь по 3м сторонам");
const string INVITE = "Введите Вещественное Число: ";
const string CONTINUE = "Продолжим? (y/n)";
string answer = "y";
do {
string temp;
Console.WriteLine (INVITE + "Сторона a = ");
temp = Console.ReadLine();
a = Convert.ToDouble(temp);
Console.WriteLine (INVITE + "Сторона b = ");
temp = Console.ReadLine();
b = Convert.ToDouble(temp);
Console.WriteLine("По формуле Пифагора");
c = tringle.Сhypotenuse(a,b);
Console.WriteLine("Сторона С равна " +c.ToString());
Console.WriteLine("По формуле Герона");
st = tringle.Stringle(a, b, c);
Console.WriteLine("Площадь прямоугольного треугольника равна " +st.ToString());
Console.WriteLine(CONTINUE);
answer = Console.ReadLine();
}
while (answer == "y");Решение задачи: «Нужно ограничить ввод. Как сделать ?»
textual
Листинг программы
double a, b;
string s;
do
{
Console.Write("Введите число a: ");
s = Console.ReadLine();
} while (!double.TryParse(s, out a));
do
{
Console.Write("Введите число b: ");
s = Console.ReadLine();
} while (!double.TryParse(s, out b));