Buenas tengo un problema con este ejercicio en C#, el programa no me sale del todo bien.
Es este.
Realizar un programa que dado un número de 4 cifras introducido por teclado, indique los dígitos de éste por separado.
Poniendo un ejemplo esto es lo que tiene que hacer el programa.
Le metemos un valor de 4 cifras por ejemplo 1586
Y se mostrara por pantalla lo siguiente:
La cuarta cifra del número 1586 es 1
La tercera cifra del número 1586 es 5
La segunda cifra del número 1586 es 8
La primera cifra del número 1586 es 6
Yo he realizado esto, fallo en la cuarta y tercera cifra.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ejercicio_83
{
class Program
{
static void Main(string[] args)
{
int numero, auxiliar, cifra1, cifra2, cifra3, cifra4;
Console.WriteLine("Introduce un número");
Console.WriteLine("");
numero = Int16.Parse(Console.ReadLine());
if ((numero > 999) && (numero < 10000))
{
Console.WriteLine("");
cifra1 = numero % 10; // El operador de % calcula el resto después de dividir el primer operando por el segundo.
auxiliar = numero / 10;
cifra2 = auxiliar % 10;
auxiliar = auxiliar % 10;
cifra3 = auxiliar % 10;
cifra4 = auxiliar / 10;
Console.WriteLine("La cuarta cifra del número " + numero + " es " + cifra4);
Console.WriteLine("La tercera cifra del número " + numero + " es " + cifra3);
Console.WriteLine("La segunda cifra del número " + numero + " es " + cifra2);
Console.WriteLine("La primera cifra del número " + numero + " es " + cifra1);
}
else
{
Console.WriteLine("");
Console.WriteLine("Número fuera de rango");
}
Console.ReadKey();
}
}
}
Muchas gracias
Cita de: palentino12 en 8 Febrero 2016, 11:50 AMLe metemos un valor de 4 cifras por ejemplo 1586
Y se mostrara por pantalla lo siguiente:
La cuarta cifra del número 1586 es 1
La tercera cifra del número 1586 es 5
La segunda cifra del número 1586 es 8
La primera cifra del número 1586 es 6
¿El orden no será al revés?.
short value = 0;
do {
Console.WriteLine("Introduzca un valor de 4 dígitos...");
short.TryParse(Console.ReadLine(), out value);
if (Convert.ToString(value).Length != 4) {
Console.Clear();
Console.WriteLine("Valor incorrecto, inténtelo de nuevo.");
} else {
break;
}
} while (true);
string valueStr = Convert.ToString(value);
for (int index = 0; index <= (valueStr.Length - 1); index++) {
Console.WriteLine("Dígito nº{0}: {1}", (index + 1), valueStr[index]);
}
Console.ReadKey();
Resultado de ejecución:
Cita de: Visual StudioIntroduzca un valor de 4 dígitos...
6835
Dígito nº1: 6
Dígito nº2: 8
Dígito nº3: 3
Dígito nº4: 5
Saludos
muchas gracias por la ayuda.
Bueno el ejercicio es que te lo ponía así.
Gracias