NECESITO AYUDA URGENTE CON MENÚ EN PASCAL
Publicado por Alejandro (5 intervenciones) el 22/09/2012 16:21:28
Tengo un programa creado en pascal que calcula el área y perímetro de un circunferencia, del cuadrado que la contiene y de la circunferencia mayor que contiene a ambos. El problema viene en el menu, si tengo 4 opciones funciona perfecto, pero si le meto una opción mas (opción 5) me da error al compilar y no se por qué. Agradezco vuestra ayuda ;)
program FigurasContenidas;
{Este programa calcula la longitud (perímetro) y área de una circunferencia (circunferencia 1),
del cuadrado que la contiene y de la circunferencia que contiene a ambos (circunferencia 2)}
USES CRT;
VAR Rcirculo1:REAL; {Radio de la circunferencia 1}
VAR Lcirculo1,Acirculo1:REAL; {Longitud y área de la circunferencia 1}
VAR Lcuadrado,Acuadrado:REAL; {Perímetro y área del cuadrado}
VAR Lcirculo2,Acirculo2:REAL; {Longitud y área de la circunferencia 2}
VAR Rcirculo2:REAL;
VAR OPCION:INTEGER;
BEGIN
WRITELN ('LONGITUD Y AREA DE UNA CIRCUNFERENCIA 1, CUADRADO Y CIRCUNFERENCIA 2');
WRITELN;
WRITE ('ESCRIBA RADIO: ');
READLN (Rcirculo1);
WRITELN;
WRITELN ('MENU PRINCIPAL');
WRITELN;
WRITELN ('1. LONGITUD Y AREA DE LA CIRCUNFERENCIA 1');
WRITELN;
WRITELN ('2. LONGITUD Y AREA DEL CUADRADO');
WRITELN;
WRITELN ('3. LONGITUD Y AREA DE LA CIRCUNFERENCIA 2');
WRITELN;
WRITELN ('4. BORRAR');
WRITELN;
WRITELN ('5. SALIR');
WRITELN;
Repeat; Delay (1000);
WRITE ('SELECCIONA FUNCION: ');
READLN (OPCION);
WRITELN;
CASE OPCION OF
1:
BEGIN
WRITELN ('LONGITUD DE LA CIRCUNFERENCIA 1: ');
Lcirculo1:=2*3.1416*Rcirculo1;
Acirculo1:=Pi*sqr(Rcirculo1);
WRITELN (Lcirculo1:5:2);
WRITELN;
WRITE ('AREA DE LA CIRCUNFERENCIA 1: ');
WRITELN (Acirculo1:5:2);
WRITELN;
END;
2:
BEGIN
WRITELN ('LONGITUD DEL CUADRADO: ');
Lcuadrado:=4*(2*Rcirculo1);
Acuadrado:=sqr(2*Rcirculo1);
WRITELN (Lcuadrado:5:2);
WRITELN;
WRITE ('AREA DEL CUADRADO: ');
WRITELN (Acuadrado:5:2);
WRITELN;
END;
3:
BEGIN
WRITELN ('LONGITUD DE LA CIRCUNFERENCIA 2: ');
Rcirculo2:=Sqrt(Sqr(Rcirculo1)+Sqr(Rcirculo1));
Lcirculo2:=2*Pi*Rcirculo2;
Acirculo2:=Pi*sqr(Rcirculo2);
WRITELN (Lcirculo2:5:2);
WRITELN;
WRITE ('AREA DE LA CIRCUNFERENCIA 2: ');
WRITELN (Acirculo2:5:2);
WRITELN;
END;
4:
ClrScr;
END;
5:
EXIT;
END;
UNTIL (OPCION=5);
READKEY;
END.
program FigurasContenidas;
{Este programa calcula la longitud (perímetro) y área de una circunferencia (circunferencia 1),
del cuadrado que la contiene y de la circunferencia que contiene a ambos (circunferencia 2)}
USES CRT;
VAR Rcirculo1:REAL; {Radio de la circunferencia 1}
VAR Lcirculo1,Acirculo1:REAL; {Longitud y área de la circunferencia 1}
VAR Lcuadrado,Acuadrado:REAL; {Perímetro y área del cuadrado}
VAR Lcirculo2,Acirculo2:REAL; {Longitud y área de la circunferencia 2}
VAR Rcirculo2:REAL;
VAR OPCION:INTEGER;
BEGIN
WRITELN ('LONGITUD Y AREA DE UNA CIRCUNFERENCIA 1, CUADRADO Y CIRCUNFERENCIA 2');
WRITELN;
WRITE ('ESCRIBA RADIO: ');
READLN (Rcirculo1);
WRITELN;
WRITELN ('MENU PRINCIPAL');
WRITELN;
WRITELN ('1. LONGITUD Y AREA DE LA CIRCUNFERENCIA 1');
WRITELN;
WRITELN ('2. LONGITUD Y AREA DEL CUADRADO');
WRITELN;
WRITELN ('3. LONGITUD Y AREA DE LA CIRCUNFERENCIA 2');
WRITELN;
WRITELN ('4. BORRAR');
WRITELN;
WRITELN ('5. SALIR');
WRITELN;
Repeat; Delay (1000);
WRITE ('SELECCIONA FUNCION: ');
READLN (OPCION);
WRITELN;
CASE OPCION OF
1:
BEGIN
WRITELN ('LONGITUD DE LA CIRCUNFERENCIA 1: ');
Lcirculo1:=2*3.1416*Rcirculo1;
Acirculo1:=Pi*sqr(Rcirculo1);
WRITELN (Lcirculo1:5:2);
WRITELN;
WRITE ('AREA DE LA CIRCUNFERENCIA 1: ');
WRITELN (Acirculo1:5:2);
WRITELN;
END;
2:
BEGIN
WRITELN ('LONGITUD DEL CUADRADO: ');
Lcuadrado:=4*(2*Rcirculo1);
Acuadrado:=sqr(2*Rcirculo1);
WRITELN (Lcuadrado:5:2);
WRITELN;
WRITE ('AREA DEL CUADRADO: ');
WRITELN (Acuadrado:5:2);
WRITELN;
END;
3:
BEGIN
WRITELN ('LONGITUD DE LA CIRCUNFERENCIA 2: ');
Rcirculo2:=Sqrt(Sqr(Rcirculo1)+Sqr(Rcirculo1));
Lcirculo2:=2*Pi*Rcirculo2;
Acirculo2:=Pi*sqr(Rcirculo2);
WRITELN (Lcirculo2:5:2);
WRITELN;
WRITE ('AREA DE LA CIRCUNFERENCIA 2: ');
WRITELN (Acirculo2:5:2);
WRITELN;
END;
4:
ClrScr;
END;
5:
EXIT;
END;
UNTIL (OPCION=5);
READKEY;
END.
Valora esta pregunta


0