ayuda!!!!
Publicado por suppernnena (2 intervenciones) el 28/03/2006 14:31:28
NECESITO AYUDA, PORFA. Me he quedado atascada en un programa en el que tengo que reconocer NIF erroneos, mediante la division del DNI por 23, me da un resto, que equivale a las letras NIF correspondientes con una tabla que se nos da.
Mi problema, es que despues de todo, cuando escribo
var
resto: integer;
letranif: char;
DNI:longint;
begin
.........
{Aqui hago Repeat para determinar que es un numero correcto, y que la letra NIF es una letra...., y al compilarlo y hacerlo esta todo correcto}
MI PROBLEMA VIENE AQUI:
REPEAT
resto:=(DNI) MOD 23;
Case (resto) of
0:= letranif := 'T';
1:= letranif := 'R';
.
.
.
.
.
22:= letranif := 'S';
end; {HASTA AQUI, VA BIEN, ENTRA DENTRO DEL BUCLE, Y SALTA CUANDO SE CUMPLE LA CONDICION DEL CASE OF}
UNTIL
resto=letranif; {aqui me da error de compilacion, porque los tipos no son iguales, asi que pongo resto=ord(letranif), pero entonces me entra en un bucle infinito}
end.
AGRADECERIA VUESTRA AYUDA
Mi problema, es que despues de todo, cuando escribo
var
resto: integer;
letranif: char;
DNI:longint;
begin
.........
{Aqui hago Repeat para determinar que es un numero correcto, y que la letra NIF es una letra...., y al compilarlo y hacerlo esta todo correcto}
MI PROBLEMA VIENE AQUI:
REPEAT
resto:=(DNI) MOD 23;
Case (resto) of
0:= letranif := 'T';
1:= letranif := 'R';
.
.
.
.
.
22:= letranif := 'S';
end; {HASTA AQUI, VA BIEN, ENTRA DENTRO DEL BUCLE, Y SALTA CUANDO SE CUMPLE LA CONDICION DEL CASE OF}
UNTIL
resto=letranif; {aqui me da error de compilacion, porque los tipos no son iguales, asi que pongo resto=ord(letranif), pero entonces me entra en un bucle infinito}
end.
AGRADECERIA VUESTRA AYUDA
Valora esta pregunta


0