Pascal no espera algunos Readln
Publicado por Emanuel (2 intervenciones) el 13/11/2022 17:47:51
Estoy haciendo un programa para guardar contraseñas y cuando leo la lista de las contraseñas guardadas y le pido al usuario que ingrese de cuál quiere ver la contraseña, se saltea el Readln de una variable auxiliar y no se porque, intente poner readln; antes o después de el readln de la variable pero como que sobrescribe un espacio en blanco en la variable, les dejo a continuación la parte del código:
Seguir:= 'S';
While (Seguir = 'S') or (Seguir = 's') Do
Begin
ClrScr;
WriteLn ('Lista de contraseñas guardadas: ');
WriteLn (' ');
ImprimirLista(Lista);
WriteLn (' ');
WriteLn ('¿Cuál contraseña queres ver?');
ReadLn (Aux); //(ESTE READLN SE SALTEA)//
WriteLn (' ');
If (BuscarContra(Lista,Aux) <> Nil) Then
WriteLn (BuscarContra(Lista,Aux)^.User, ' | ', BuscarContra(Lista,Aux)^.Contra)
Else
WriteLn ('No existe esa contra.');
WriteLn (' ');
WriteLn ('¿Queres ver otra? |S| para si, |N| para no');
Repeat
Readln (Seguir);
If (Seguir <> 'S') And (Seguir <> 's') And (Seguir <> 'n') And (Seguir <> 'N') Then
WriteLn ('Ponelo bien.');
Until (Seguir = 'S') or (Seguir = 's') or (Seguir = 'n') or (Seguir = 'N');
End;
Seguir:= 'S';
While (Seguir = 'S') or (Seguir = 's') Do
Begin
ClrScr;
WriteLn ('Lista de contraseñas guardadas: ');
WriteLn (' ');
ImprimirLista(Lista);
WriteLn (' ');
WriteLn ('¿Cuál contraseña queres ver?');
ReadLn (Aux); //(ESTE READLN SE SALTEA)//
WriteLn (' ');
If (BuscarContra(Lista,Aux) <> Nil) Then
WriteLn (BuscarContra(Lista,Aux)^.User, ' | ', BuscarContra(Lista,Aux)^.Contra)
Else
WriteLn ('No existe esa contra.');
WriteLn (' ');
WriteLn ('¿Queres ver otra? |S| para si, |N| para no');
Repeat
Readln (Seguir);
If (Seguir <> 'S') And (Seguir <> 's') And (Seguir <> 'n') And (Seguir <> 'N') Then
WriteLn ('Ponelo bien.');
Until (Seguir = 'S') or (Seguir = 's') or (Seguir = 'n') or (Seguir = 'N');
End;
Valora esta pregunta


0