Pascal/Turbo Pascal - Calculadora en Pascal

 
Vista:
sin imagen de perfil

Calculadora en Pascal

Publicado por Sofia (1 intervención) el 17/08/2021 15:02:00
Buenas,
Estuve intentando hacer una calculadora en Pascal a la cual el usuario le ingresa una operación (con variables enteras) del estilo:
4-3*2/4=
la cual le devuelve el resultado sin importar la precedencia de las operaciones, o sea, hace las operaciones en el orden que están escritas. El problema es que estoy teniendo errores a la hora de que el programa lea las operaciones, pues lee el primero numero y luego no quiere leer el símbolo que le sigue, me da error. He probado de todo pero no se como arreglarlo.
Me imagino que la forma en la que me estoy expresando no es la mejor y posiblemente mi código tenga varios errores ya que es de los primeros programas que estoy intentando hacer y apenas llevo dos semanas empezando a programar en general, pero dejo el código por si alguien puede orientarme para ver que es lo que estoy 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
PROGRAM Ejercicio10;
VAR  simb: char;
     n1,n2,resultado: Integer;
 
BEGIN
     write('Ingrese la operacion que desea resolver: ');
     read(n1);
     resultado:=n1;
     read(simb);
     WHILE simb<>'=' DO
     BEGIN
          read(n2);
 
          (*suma*)
          IF simb='+' THEN
          resultado:=resultado + n2;
 
          (*resta*)
          IF simb='-' THEN
          resultado:=resultado - n2;
 
          (*producto*)
          IF simb='*' THEN
          resultado:=resultado*n2;
 
          (*division*)
          IF simb='/' THEN
          resultado:=resultado DIV n2;
 
          read(simb);
      END;
      writeln('El resultado es ',resultado);
END.

Saludos y muchas gracias de antemano.
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
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Calculadora en Pascal

Publicado por dario (87 intervenciones) el 17/08/2021 16:37:27
Hola, debes tratar tu variable como cadena de caracteres (string).
Salu2.
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

Calculadora en Pascal

Publicado por ramon (2158 intervenciones) el 18/08/2021 18:05:23
mira esto.
PROGRAM Ejercicio10;
uses
crt;
VAR simb: char;
n1,n2,resultado: Integer;

BEGIN
clrscr;
write('Ingrese numero 1 : ');
readln(n1);
resultado:=n1;

WHILE simb<>'=' DO
BEGIN
write('Simbolo de Operacion : ');
simb := readkey;
write(simb);
writeln;
if simb in['+','-','*','/'] then
begin
write('Ingrese numero 2: ');
read(n2);

(*suma*)
IF simb='+' THEN
resultado:=resultado + n2;

(*resta*)
IF simb='-' THEN
resultado:=resultado - n2;

(*producto*)
IF simb='*' THEN
resultado:=resultado*n2;

(*division*)
IF simb='/' THEN
resultado:=resultado DIV n2;
end;

END;
writeln('El resultado es ',resultado);
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