Autor
|
Tema: Validar ingreso correcto con mensaje en consola... (Leído 3,878 veces)
|
DanielPy
Desconectado
Mensajes: 145
|
Hola a todos. Desconozco si esto se puede hacer por eso los consulto.- do { Console.SetCursorPosition(mLeft, mTop); Console.Write("Ingrese la cantidad de números a comparar(máximo 255)...:"); } while (!byte.TryParse(Console.ReadLine(), out n));
Si se ingresa por ejemplo una letra el mismo es incorrecto, puedo en este caso mostrar un mensaje de ayuda y como?.- El código lo expongo completo porque considero que tal vez alguna cosita puede ayudarle a algún principiante como yo.- using System; using System.Collections.Generic; using System.Text;
namespace MayorMenor { class Program { static void Main(string[] args) { Console.Title = "Mostrar el mayor y el menor de un grupo de números..."; Console.SetWindowSize(70, 30); Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear();
byte n = 0, i = 0, mLeft = 2, mTop = 2; int numero = 0, menor = 99, mayor = -99;
do { Console.SetCursorPosition(mLeft, mTop); Console.Write("Ingrese la cantidad de números a comparar(máximo 255)...:"); } while (!byte.TryParse(Console.ReadLine(), out n));
mTop += 2;
for (; i < n; i++) {
do { Console.SetCursorPosition(mLeft, mTop); Console.Write("numero " + (i + 1) + "...:"); } while (!Int32.TryParse(Console.ReadLine(), out numero));
if (mayor < numero) { mayor = numero; }
if (menor > numero) { menor = numero; } mTop++; }
mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número menor es...: " + menor); mTop++; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número mayor es...: " + mayor);
mTop += +2; Console.SetCursorPosition(mLeft, mTop); Console.Write("Apriete una tecla para cerrar la aplicación..."); Console.ReadKey(); } } } Gracias pero muchas grtacias DarK_FirefoX Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
DarK_FirefoX
Desconectado
Mensajes: 1.263
Be the change you wanna see in te world
|
Mira aqui tu solución al problema. El problema es que el método TryParse, devuelve bool y sale una variable por un parámetro OUT, es simple controlar si el método te da false puedes hacer algo... pd: me volví loco con todos los Console.SerCursorPosition porque casi nunca he usado eso...ah, y recuerda usar las etiquetas CODE para poner el código. static void Main(string[] args) { Console.Title = "Mostrar el mayor y el menor de un grupo de números..."; Console.SetWindowSize(70, 30); Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); byte n = 0, i = 0, mLeft = 2, mTop = 2; int numero = 0, menor = 99, mayor = -99; //Modifiqué esto... while (true) { Console.SetCursorPosition(mLeft, mTop); Console.Write("Ingrese la cantidad de números a comparar(máximo 255)...:"); if (byte.TryParse(Console.ReadLine(), out n)) break; //Si pudo hacerle PARSE sale del ciclo while else { mTop+=2; Console.SetCursorPosition(mLeft, mTop); Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO"); mTop += 2; } } mTop += 2; for (; i < n; i++) { //Modifiqué esto while (true) { Console.SetCursorPosition(mLeft, mTop); Console.Write("numero " + (i + 1) + "...:"); if (Int32.TryParse(Console.ReadLine(), out numero)) break; //Si pudo hacerle PARSE sale del ciclo while else { mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO"); mTop += 2; } } if (mayor < numero) { mayor = numero; } if (menor > numero) { menor = numero; } mTop++; } mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número menor es...: " + menor); mTop++; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número mayor es...: " + mayor); mTop += +2; Console.SetCursorPosition(mLeft, mTop); Console.Write("Apriete una tecla para cerrar la aplicación..."); Console.ReadKey(); }
|
|
« Última modificación: 13 Mayo 2013, 16:57 pm por DarK_FirefoX »
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola amigo. Muchas gracias, excelente solución, en cuanto a SetCursorPosition y las otras cositas yo las uso en todas mis prácticas, soy un capricorniano perfeccionista.- ...recuerda usar las etiquetas CODE para poner el código. Siempre las uso.- Bueno un gran abrazo.- Daniel.
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola. Funciona como lo esperado, el que posteo en este caso tiene una pequeña modificación de estética.- using System; using System.Collections.Generic; using System.Text;
namespace MayorMenor { class Program { static void Main(string[] args) { Console.Title = "Mostrar el mayor y el menor de un grupo de números..."; Console.SetWindowSize(70, 30); Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear();
byte n = 0, i = 0, mLeft = 2, mTop = 2; int numero = 0, menor = 99, mayor = -99;
while (true) { Console.SetCursorPosition(mLeft, mTop); Console.Write("Ingresa la cantidad de números a comparar(máximo 255)...:"); if (byte.TryParse(Console.ReadLine(), out n)) break; //Si pudo hacerle PARSE sale del ciclo while else { mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.Write("INGRESO INCORRECTO Puse una tecla para continuar..."); Console.ReadKey(); Console.SetCursorPosition(mLeft, mTop); Console.Write(" "); mTop -= 2; } }
mTop += 2; Console.SetCursorPosition(mLeft, mTop);
for (; i < n; i++) {
while (true) { Console.SetCursorPosition(mLeft, mTop); Console.Write("numero " + (i + 1) + "...:"); if (Int32.TryParse(Console.ReadLine(), out numero)) break; //Si pudo hacerle PARSE sale del ciclo while else { mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.Write("INGRESO INCORRECTO Puse una tecla para continuar..."); Console.ReadKey(); Console.SetCursorPosition(mLeft, mTop); Console.Write(" "); mTop -= 2; } } if (mayor < numero) {mayor = numero;}
if (menor > numero) {menor = numero;} mTop++; }
mTop += 2; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número menor es...: " + menor); mTop++; Console.SetCursorPosition(mLeft, mTop); Console.Write("El número mayor es...: " + mayor);
mTop += +2; Console.SetCursorPosition(mLeft, mTop); Console.Write("Pulse una tecla para cerrar la aplicación..."); Console.ReadKey(); } } } Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Validar ingreso en bat
Scripting
|
dj kuzmar
|
1
|
4,063
|
3 Febrero 2010, 01:03 am
por leogtz
|
|
|
Enviar mensaje a la consola
« 1 2 »
.NET (C#, VB.NET, ASP)
|
CH4ØZ
|
18
|
11,181
|
9 Agosto 2010, 05:15 am
por CH4ØZ
|
|
|
Validar ingreso de datos en C Sharp
.NET (C#, VB.NET, ASP)
|
DanielPy
|
3
|
3,262
|
14 Julio 2013, 04:04 am
por DanielPy
|
|
|
Validar ingreso de cadena y de números en lenguaje C.
Programación C/C++
|
NOB2014
|
7
|
10,647
|
18 Febrero 2016, 23:08 pm
por fary
|
|
|
Validar ingreso de datos con Python
Scripting
|
NOB2014
|
6
|
8,589
|
18 Octubre 2017, 18:01 pm
por NOB2014
|
|