Ver Mensaje Individual
  #1  
Antiguo 18-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Reputación: 19
gerupc Va por buen camino
Exclamation No me concuerdan los datos

Hola,

haciendo un ejercicio que se basa en comprobar si un DNI es correcto o no, me surge el siguiente problema: No consigo que identifique la letra introducida con la letra que le corresponde de una matriz. Os pongo el código para que lo veais con más facilidad:

Código Delphi [-]
program Ejercicio1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  dni: integer;
  letra: string;
  opcion: integer;
  resto: integer;
  buena: char;
  matriz: array[0..22] of string = ('T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E');
begin
    writeln('');
    writeln('');
    writeln('');
    writeln('');
    writeln('');
    write(#9);
    writeln('1.-Calculo de la letra del DNI.');
    write(#9);
    writeln('2.-Comprobar si el DNI es correcto.');
    write(#9);
    writeln('3.-Finalizar la ejecucion del programa.');
    writeln('');
    write(#9);
    write('Selecciona cual de las opciones deseas procesar (1/2/3): ');
    readln(opcion);
//La opcion uno no es necesaria
if opcion = 2 then
          Begin
              writeln('');
              writeln('');
              write(#9);
              write('Introduce el DNI completo (numero y letra): ');
              readln(dni,letra);
                  resto := dni mod 23;
                Begin
                  if letra = matriz[resto] then   //ESTO NO ME LO HACE BIEN
                  writeln(#9'Al DNI ',dni,' le corresponde la letra ',matriz[resto])
                  else
                  writeln('Al DNI ',dni,' le corresponde la letra ',matriz[resto],' y no la letra ',letra);
                  readln;
                end;

Al ejecutar me imprime siempre lo correspondiente al else ('Al DNI ',dni,' le corresponde la letra ',matriz[resto],' y no la letra ',letra) aunque sean iguales.

EDITO: Por cierto, he probado con char en lugar de string como tipo de datos de la matriz y de la variable 'letra'

Si alguien me pudiese echar una mano, se lo agradecería bastante.

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita