elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Validar ingreso correcto con mensaje en consola...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validar ingreso correcto con mensaje en consola...  (Leído 3,451 veces)
DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Validar ingreso correcto con mensaje en consola...
« en: 12 Mayo 2013, 22:12 pm »

Hola a todos.
Desconozco si esto se puede hacer por eso los consulto.-
Código:
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.-

Código:
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 Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Validar ingreso correcto con mensaje en consola...
« Respuesta #1 en: 13 Mayo 2013, 16:53 pm »

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.

Código
  1. static void Main(string[] args)
  2.        {
  3. Console.Title = "Mostrar el mayor y el menor de un grupo de números...";
  4.            Console.SetWindowSize(70, 30);
  5.            Console.BackgroundColor = ConsoleColor.Blue;
  6.            Console.ForegroundColor = ConsoleColor.Yellow;
  7.            Console.Clear();
  8.  
  9.            byte n = 0, i = 0, mLeft = 2, mTop = 2;
  10.            int numero = 0, menor = 99, mayor = -99;
  11.  
  12. //Modifiqué esto...
  13.            while (true)
  14.            {
  15.                Console.SetCursorPosition(mLeft, mTop);
  16.                Console.Write("Ingrese la cantidad de números a comparar(máximo 255)...:");
  17.                if (byte.TryParse(Console.ReadLine(), out n))
  18.                    break; //Si pudo hacerle PARSE sale del ciclo while
  19.                else
  20.                {
  21.                    mTop+=2;
  22.                    Console.SetCursorPosition(mLeft, mTop);
  23.                    Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO");
  24.                    mTop += 2;
  25.                }
  26.            }
  27.  
  28.            mTop += 2;
  29.  
  30.            for (; i < n; i++)
  31.            {
  32. //Modifiqué esto
  33.                while (true)
  34.                {
  35.                    Console.SetCursorPosition(mLeft, mTop);
  36.                    Console.Write("numero " + (i + 1) + "...:");
  37.                    if (Int32.TryParse(Console.ReadLine(), out numero))
  38.                        break; //Si pudo hacerle PARSE sale del ciclo while
  39.                    else
  40.                    {
  41.                        mTop += 2;
  42.                        Console.SetCursorPosition(mLeft, mTop);
  43.                        Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO");
  44.                        mTop += 2;
  45.                    }
  46.                }
  47.                if (mayor < numero)
  48.                {
  49.                    mayor = numero;
  50.                }
  51.                if (menor > numero)
  52.                {
  53.                    menor = numero;
  54.                }
  55.                mTop++;
  56.            }
  57.            mTop += 2;
  58.            Console.SetCursorPosition(mLeft, mTop);
  59.            Console.Write("El número menor es...: " + menor);
  60.            mTop++;
  61.            Console.SetCursorPosition(mLeft, mTop);
  62.            Console.Write("El número mayor es...: " + mayor);
  63.  
  64.            mTop += +2;
  65.            Console.SetCursorPosition(mLeft, mTop);
  66.            Console.Write("Apriete una tecla para cerrar la aplicación...");
  67.            Console.ReadKey();
  68.  
  69.        }


« Última modificación: 13 Mayo 2013, 16:57 pm por DarK_FirefoX » En línea

DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: Validar ingreso correcto con mensaje en consola...
« Respuesta #2 en: 13 Mayo 2013, 17:49 pm »

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.
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 Desconectado

Mensajes: 145



Ver Perfil
Re: Validar ingreso correcto con mensaje en consola...
« Respuesta #3 en: 13 Mayo 2013, 19:37 pm »

Hola.
Funciona como lo esperado, el que posteo en este caso tiene una pequeña modificación de estética.-

Código:
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.-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Validar ingreso en bat
Scripting
dj kuzmar 1 3,834 Último mensaje 3 Febrero 2010, 01:03 am
por leogtz
Enviar mensaje a la consola « 1 2 »
.NET (C#, VB.NET, ASP)
CH4ØZ 18 10,490 Último mensaje 9 Agosto 2010, 05:15 am
por CH4ØZ
Validar ingreso de datos en C Sharp
.NET (C#, VB.NET, ASP)
DanielPy 3 3,002 Último mensaje 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 9,886 Último mensaje 18 Febrero 2016, 23:08 pm
por fary
Validar ingreso de datos con Python
Scripting
NOB2014 6 8,021 Último mensaje 18 Octubre 2017, 18:01 pm
por NOB2014
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines