Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Mejorar código. (https://www.clubdelphi.com/foros/showthread.php?t=46739)

REHome 07-08-2007 21:37:55

Mejorar código.
 
Este código funciona.

Sólo hace que te averigue la letra del DNI de ESPAÑA.

¿Alguien cree que se puede mejorar el código más pequeño?

Código:

using System;
using System.Collections.Generic;
using System.Text;

namespace DNI
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<int, char> Letras = new Dictionary<int, char>();

            Letras.Add(0, 'T'); Letras.Add(12, 'N');

            Letras.Add(1, 'R'); Letras.Add(13, 'J');

            Letras.Add(2, 'W'); Letras.Add(14, 'Z');

            Letras.Add(3, 'A'); Letras.Add(15, 'S');

            Letras.Add(4, 'G'); Letras.Add(16, 'Q');

            Letras.Add(5, 'M'); Letras.Add(17, 'V');

            Letras.Add(6, 'Y'); Letras.Add(18, 'H');

            Letras.Add(7, 'F'); Letras.Add(19, 'L');

            Letras.Add(8, 'P'); Letras.Add(20, 'C');

            Letras.Add(9, 'D'); Letras.Add(21, 'K');

            Letras.Add(10, 'X'); Letras.Add(22, 'E');

            Letras.Add(11, 'B');



            Console.Write("Introduce nº DNI: ");

            string snumber = Console.ReadLine();

            int inumber = -1;
            try
            {
                if ((snumber.Length != 8) || (!Int32.TryParse(snumber, out inumber)))
                {

                    throw new ArgumentException("No válido.");

                }

                else
                {

                    inumber = inumber % 23;

                    Console.WriteLine("Letra: {0}", Letras[inumber]);

                }
            }
            catch (ArgumentException) // Argumento no válido, no poner letras.
            {
                Console.WriteLine("\n");
                Console.WriteLine("¡Error! - Sólo debes introducir números de 8 dígitos.");
            }

            Console.ReadKey();
        }
    }
}



La franja horaria es GMT +2. Ahora son las 01:24:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi