0

У меня есть этот код, если ввести буквы вместо цифр нужно, чтобы вывело текст "Попробуйте еще раз" и я мог еще раз ввести значение, щас у меня выводит ошибку и выбрасывает с консоли.

using System;

namespace _1 { class Program { static void Main(string[] args) { double x, y, z, s; Console.WriteLine("x:"); x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("y:"); y = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("z:"); z = Convert.ToDouble(Console.ReadLine()); s = Math.Pow(y, Math.Pow(Math.Abs(x), 1 / 3)) + Math.Pow(Math.Cos(y), 3) * (Math.Abs(x -y) * (1 + ((Math.Pow(Math.Sin(z), 2)) / (Math.Sqrt(x + y)))) / (Math.Exp(Math.Abs(x - y)) + x / 2)); s = Math.Round(s, 3); Console.Write(s); } } }

P1CA5S0
  • 201
  • 2
  • 13

2 Answers2

2
while(true)
{
try
  {
   //тут твой код
  }
catch { Console.WriteLine("Попробуйте еще раз");}
}

Попробуй так

Apple One
  • 118
  • 7
2

Без всяких try-catch

double x;   
Console.WriteLine("X: ");
while (!double.TryParse(Console.ReadLine(), out x))
    Console.WriteLine("Попробуйте еще раз");                
Console.WriteLine($"вы ввели {x}");
tym32167
  • 32,857