Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
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
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 16:35:48.


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