Pascal/Turbo Pascal - Halt (Duda)

   
Vista:

Halt (Duda)

Publicado por wind (26 intervenciones) el 20/04/2014 21:13:32
Saludos cordiales.
Cuando ingresas una opción incorrecta en la primera pregunta, el programa finalizará, si el usuario presiona una tecla. (Ese comportamiento del programa está bien)
Lo que no está bien, es que cuando en la primera pregunta, ingresas la opción correcta, el programa finaliza. Lo correcto es que pase automaticamente a la pregunta dos.
¿Qué debo correguir?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
program exit;
uses crt;
var
opcion:char;
begin
  writeln('¿Cuantos atomos de hidrogeno tiene el agua?');
  writeln('A) 1');
  writeln('B) 2');(**)
  writeln('C) 3');
  writeln('D) 4');
  write('Seleccione opcion: ');
  readln(opcion);
  if (opcion='B') or (opcion='b') then
  begin
    writeln('Correcto');
  end
  else
  writeln('Incorrecto');
  writeln('Presione una tecla para finalizar el programa');
  readkey;
  halt;(*Termina el programa, si la opción es incorrecta*)
  writeln('¿Cuantos ceros tiene 10 elevado a 5?');
  writeln('A) 5');  (**)
  writeln('B) 6');
  writeln('C) 4');
  writeln('D) 7');
  write('Seleccione una opcion: ');
  readln(opcion);
  if (opcion='A') or (opcion='a') then
  begin
    writeln('Correcto');
  end
  else
  writeln('Incorrecto');
  writeln('Presione una tecla para finalizar el programa');
  readkey;
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Pascal/Turbo Pascal
- Código fuente de Pascal/Turbo Pascal
- Cursos de Pascal/Turbo Pascal
- Temas de Pascal/Turbo Pascal
- Chat de Pascal/Turbo Pascal
información
Códigos de Pascal/Turbo Pascal
- Libreria
- Clean USB
- TTokenizer

Halt (Duda)

Publicado por David (147 intervenciones) el 21/04/2014 10:40:28
Aquí el código. Tienes un comentario en la zona del "error" para que identifiques qué estabas haciendo mal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
program exit;
uses crt;
var
opcion:char;
begin
  writeln('¿Cuantos atomos de hidrogeno tiene el agua?');
  writeln('A) 1');
  writeln('B) 2');(**)
  writeln('C) 3');
  writeln('D) 4');
  write('Seleccione opcion: ');
  readln(opcion);
  if (opcion='B') or (opcion='b') then
  begin
    writeln('Correcto');
  end
  else
  begin {Aquí estaba el error. Faltaba "begin..end" en el else y se salía fuera cual fuera la respuesta}
    writeln('Incorrecto');
    writeln('Presione una tecla para finalizar el programa');
    readkey;
    halt;(*Termina el programa, si la opción es incorrecta*)
  end;
  writeln('¿Cuantos ceros tiene 10 elevado a 5?');
  writeln('A) 5');  (**)
  writeln('B) 6');
  writeln('C) 4');
  writeln('D) 7');
  write('Seleccione una opcion: ');
  readln(opcion);
  if (opcion='A') or (opcion='a') then
  begin
    writeln('Correcto');
  end
  else
  writeln('Incorrecto');
  writeln('Presione una tecla para finalizar el programa');
  readkey;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar