[ Foro de Pascal ]

Condición compuesta

18-Feb-2014 18:53
Invitado (PJota)
2 Respuestas

Hola!
Me he quedado atascado en este ejercicio:
...Crea un programa que pida al usuario un su nombre. Sólo si ese nombre es "Juan", deberá entonces pedirle una contraseña, y en caso de que la contraseña sea "1234", le responderá diciendo "Bienvenido!"...


program IF_EJ4;
uses crt;
var
  nombre: string;
  contra: string;
begin
     ClrScr; writeln();
     writeln('Dime tu nombre: ');Read(nombre);
     If nombre='Juan'then
        begin
          writeln('Escribe la contraseña: ');
          readln(contra);
          if contra='1234' then writeln('BIENVENIDO')
         end;
     Readln()
end.


Al ejecutarlo llego a escribir la contraseña, pero no me sale en pantalla "Bienvenido",
Si escribo otro nombre no hace la parada que debía de hacer con el Redln()
No se si falta algo o me sobra.
Muchas gracias.


18-Feb-2014 22:16
Nacho Cabanes (+84)

Está bastante bien. Tiene algunos fallos menores, como hacer "Read(nombre);" en vez de "ReadLn(nombre);" y como que es preferible no usar paréntesis en "writeln()" no en "readln()" (es sintaxis extendida de Free Pascal, puede no compilar en otros muchos, porque el Pascal estándar no usa paréntesis si no hay parámetros).


24-Feb-2014 22:08
Pedro Jose

Gracias.

Ha quedado resuelto.
Es curioso con el Read(nombre); no funcionaba bien, pide el nombre y la contraseña y finalizaba el programa.
Lo he corregido por Readln(nombre); y funciona.

Saludos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)