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
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();
}
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.-
Citar...recuerda usar las etiquetas CODE para poner el código.
Siempre las uso.- :huh:
Bueno un gran abrazo.-
Daniel.
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