Anteriormente me limité a codificar los algoritmos para los números primos y la serie de fibonacci, pero en ninguno de los dos ejemplos validé que la entrada de datos sea numérica. Si ejecutamos alguno de los programas listados e ingresamos un valor no valido (por ejemplo, una cadena de caracteres), se generará un error.
El siguiente código pedirá un valor numérico entero y validará que la información ingresada por teclado sea, en efecto, un valor entero. Si el valor ingresado no corresponde a un valor numérico entero, el programa mostrará un mensaje advirtiéndonos del error y nos pedirá que ingresemos de nuevo el valor.
static void Main(string[] args) { int n; Console.Write("Ingrese un número : "); string linea = Console.ReadLine(); //Guardamos en una cadena el dato ingresado por teclado ValidarEntrada(ref linea); //A través de un subprograma, validamos el dato almacenado pasandolo por referencia n = int.Parse(linea); //Una vez validado que el dato ingresado por teclado es un entero, lo convertimos Console.WriteLine("El valor numérico ingresado es : " + n); Console.ReadKey(); } private static void ValidarEntrada(ref string linea) { //Si la variable linea, pasada por referencia no entra al bucle es porque el valor SÍ es numérico //Si logra entrar, quiere decir que no es numérico y nos generará un error while(!Int32.TryParse(linea, out int n)) { Console.WriteLine("\nERROR. El valor ingresado debe ser numérico\n"); Console.Write("Ingrese un número : "); linea = Console.ReadLine(); } }
El método TryParse se utiliza para intentar convertir a un valor numérico entero el valor contenido en la variable de tipo cadena (linea). Devolverá true si logra convertir el valor a un entero y false en caso contrario.
El código del programa en .Net lo puedes descargar de aquí.
No hay comentarios:
Publicar un comentario