Programación General > Pascal

 Que Sucede?

(1/2) > >>

lizzmdq:
Hola a todos , bueno esta haciendo un pequeño programa , que la maquina elija un numero del 1 al 100 y que el usuario tenga 7 oportunidades para advinarlo, lo que pasa es que no me corre y el error que me da no lo identifico , aqui se los dejo.


--- Código: Text ---program game;uses crt;vara,ingreso,ai,i,b:integer;begin  ai:=0;  repeat  for i:=1 to 100 do  begin  if keypressed then  ai:=i;  end;  until ai<>0;  clrscr;    Writeln(' El juego consiste en adviniar un numero del 1 al 100 en 7 oportunidades');      repeat      ingreso:=ingreso+1;    writeln('Por favor ingrese un numero del 1 al 100');    readln(b);      if ai > b then      begin      writeln('El Numero a advinar es mayor');      end;      if ai < b then      writeln('El numero a advinar es menor') else      writeln('Usted a acertado');      until ai=b or ingreso=7;    if ai=b then                writeln('Ganasteee!') else    writeln('Perdiste!');readkey;end. 
salu2

robbie110487:
Solo pon entre parentesis las condiciones del segundo until:
--- Código: Text ---until (ai=b) or (ingreso=7); 
Asi deberia correr

 :comp:

lizzmdq:
Gracias era eso , pero hay un problema en las operaciones. siempre que pongo un numero para adivinar me dice que es mayor o menor depende el caso y luego usted a acertado  :huh:

por que sera?

salu2

ProfesorX:
Los if no estan bien anidados, revisalos.

lizzmdq:
Quedo asi .


--- Código: Text ---program game;uses crt;vara,ingreso,ai,i,b:integer;beginclrscr;   writeln('Por Favor precione una tecla para que la maquina elija el numero a advinar y continue el juego');  ai:=0;  repeat  for i:=1 to 100 do  begin  if keypressed then  ai:=i;  end;  until ai<>0;     Writeln(' El juego consiste en adviniar un numero del 1 al 100 en 7 oportunidades');      repeat      ingreso:=ingreso+1;    writeln('Por favor ingrese un numero del 1 al 100');    readln(b);      if ai > b then      begin      writeln('El Numero a advinar es mayor');      end;      if ai < b then      begin        writeln('El numero a advinar es menor');                        end;                        if ai=b then      writeln('Usted a acertado');      until (ai=b) or (ingreso=7);    if ai=b then                writeln('Ganasteee!') else    writeln('Perdiste!');readkey;end. 
Pero siempre el numero a adivinar es 100  :huh:

por que sera?

salu2

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa