| 
	
		|  Autor | Tema: Validar ingreso correcto con mensaje en consola...  (Leído 4,420 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 amory 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 amory 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 amory 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,384 |  3 Febrero 2010, 01:03 am por leogtz
 |  
						|   |   | Enviar mensaje a la consola
							« 1 2 » .NET (C#, VB.NET, ASP)
 | CH4ØZ | 18 | 11,961 |  9 Agosto 2010, 05:15 am por CH4ØZ
 |  
						|   |   | Validar ingreso de datos en C Sharp .NET (C#, VB.NET, ASP)
 | DanielPy | 3 | 3,603 |  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 | 11,488 |  18 Febrero 2016, 23:08 pm por fary
 |  
						|   |   | Validar ingreso de datos con Python Scripting
 | NOB2014 | 6 | 9,274 |  18 Octubre 2017, 18:01 pm por NOB2014
 |    |