Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Solución de Rodrigo Salado Anaya a NumbersToLCD

View Digito.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace DigitosCool
{
class Digito
{
/// <summary>
/// Diccionario que define los diferentes símbolos para pintar los números.
/// </summary>
private Dictionary<int, string> leds = new Dictionary<int, string>()
{
{0, " "}, {1, " _ "}, {2, "| |"}, {3, "|_|"}, {4, " | "}, {5, " _|"}, {6, "|_ "}, {7, " |"}
};
 
public string fila_1 { get; set; }
public string fila_2 { get; set; }
public string fila_3 { get; set; }
 
/// <summary>
/// Convierte un entero a modo display.
/// </summary>
/// <param name="numeroDeEntrada">Número ha convertir.</param>
public void ConvierteDigito(int numeroDeEntrada)
{
switch (numeroDeEntrada)
{
case 0: AsignaValoresALasFilas(1, 2, 3); break;
case 1: AsignaValoresALasFilas(0, 4, 4); break;
case 2: AsignaValoresALasFilas(1, 5, 6); break;
case 3: AsignaValoresALasFilas(1, 5, 5); break;
case 4: AsignaValoresALasFilas(0, 3, 7); break;
case 5: AsignaValoresALasFilas(1, 6, 5); break;
case 6: AsignaValoresALasFilas(1, 6, 3); break;
case 7: AsignaValoresALasFilas(1, 7, 7); break;
case 8: AsignaValoresALasFilas(1, 3, 3); break;
case 9: AsignaValoresALasFilas(1, 3, 5); break;
}
}
 
/// <summary>
/// Asigna los símbolos necesarios a cada fila que representa un digito.
/// </summary>
/// <param name="_1">Símbolo para fila 1.</param>
/// <param name="_2">Símbolo para fila 2.</param>
/// <param name="_3">Símbolo para fila 3.</param>
private void AsignaValoresALasFilas(int _1, int _2, int _3)
{
fila_1 = leds[_1]; fila_2 = leds[_2]; fila_3 = leds[_3];
}
 
/// <summary>
/// Convierte una lista de caracteres numéricos a símbolos de display.
/// </summary>
/// <param name="numerosDeEntrada">Lista de caracteres ha convertir.</param>
/// <returns>Número[s] estilo display.</returns>
public string ConvirteDigitos(string numerosDeEntrada)
{
string filaCompleta_1 = null, filaCompleta_2 = null, filaCompleta_3 = null;
 
foreach (var caracterNuemrico in numerosDeEntrada)
{
int numero;
int.TryParse(caracterNuemrico.ToString(), out numero);
var digito = new Digito();
digito.ConvierteDigito(numero);
filaCompleta_1 += digito.fila_1 + ' ';
filaCompleta_2 += digito.fila_2 + ' ';
filaCompleta_3 += digito.fila_3 + ' ';
}
return filaCompleta_1 + '\n' + filaCompleta_2 + '\n' + filaCompleta_3;
}
}
}
View Digito.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace DigitosCool
{
class Program
{
static void Main(string[] args)
{
var digitoCool = new Digito();
Console.WriteLine(digitoCool.ConvirteDigitos("1312143546575687980"));
Console.Read();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.