[ Foro de Pascal ]
Hola a todos, recien estoy empezando en este mundillo un poco por mi cuenta y he de decir que mis conocimientos son practicamente nulos. Sé que el codigo se puede optimizar mucho y todo eso, pero de momento, con la "estructura" que tiene (ya que no se nada más), donde esta el fallo al compilar? Imagino que sera un pequeño error de sintaxis, pero me estoy volviedo loco!
program EligeOperacion;
uses
crt,math;
var
s,r,m,dv,sq,cb:real;
a,b:real;
opcion:integer;
begin
writeln('Defina los valores de A y B: ');
write('A: ');readln(a);
write('B: ');readln(b);
write('Escoja el tipo de operacion a realizar: ');
writeln('1: Suma');
writeln('2: Resta');
writeln('3: Multiplicacion');
writeln('4: Division');
writeln('5: Cuadrado');
writeln('6: Cubo');
writeln('NOTA: Si quiere elevar un numero al cuadrado o al cubo, ingrese "0" como valor de "b"');
readln(opcion);
begin
s:=a+b;r:=a-b;m:=a*b;dv:=a/b;sq:=sqr(a)+b;cb:=a**3+b;
if opcion=1 then
writeln(s);
else if opcion=2 then
writeln(r);
else if opcion=3 then
writeln(m);
else if opcion=4 then
writeln(dv);
else if opcion=5 then
writeln(sq);
else if opcion:=6 then
writeln(cb);
else
writeln('Introduzca un numero correcto');
readkey();
end;
end.
¿Por qué no pones el mensaje de error que recibes? El mensaje te dirá la línea en la que se encuentra el error (o, más exactamente, la línea en la que lo ha detectado, que a veces no es justo la misma) y el tipo de error que ha encontrado.
Yo, en un primer vistazo, veo un error en
else if opcion:=6 then
no debería ser ":=" sino "=", porque estás comparando.
También tienes dos "begin" en vez de uno, no entiendo para qué, y ese tipo de errores se verían mejor si el fuente estuviera bien tabulado.
Primero que nada perdon por el doble hilo >.<
El error que me tira (25,1) syntax error ";" expected but "else" found. Pero no veo el error.
Y si, es cierto, estoy comparando no definiendo.
Muchas gracias Nacho.
Gran pagina con la que me he topado ;).
El mensaje es claro: en la línea 25, posición 1, esperaba un "punto y coma" pero he encontrado un "else".
Si hay un "else" no debe haber punto y coma antes de él, como puedes leer aquí:
http://www.aprendeaprogramar.com/mod/resource/view.php?id=549
(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.)