[ Foro de Pascal ]

no compila

29-Jun-2014 09:03
Invitado (Ungato)
2 Respuestas

El programa trata de un menu que ordena 6 numeros reprentados por A a la F y tambien los multiplica, pero no logro que compile, da un error en la opcion "4", a la vez que necesito usar "goto" para regresarse al menu preguntanto"Desea regresar al menu S/N".
Esa seria mi duda, muchas gracias por la atencion


program Tarea;
uses crt;

var opcion:byte;
var arreglo: array[1..6] of integer;
var i,j,aux: integer;
var A,B,C,D,E,F:integer;
var  V,W,X,Y,Z:integer;
Begin
       clrscr;
      writeln('*******************Bienvenido usuario*******************');
      writeln('Seleccione una de las siguientes opciones para continuar');
      writeln('_____Opcion 1.Ordenar descendentemente_____');
      writeln('_____Opcion 2.Ordenar ascendentemente______');
      writeln('_____Opcion 3.Multiplicar en secuencia_____');
      writeln('_____Opcion 4.Salir del programa___________');
      readln(opcion);

      case opcion of
      1: begin
          ClrScr;
       for i:=1 to 6 do
       begin
            write('Ingrese los numeros A,B,C,D,E,F: ');
            readln(arreglo[i]);
            end;

            for i:=1 to 5 do
             begin
              for j:=1 to 5 do
                begin
                 if (arreglo[j]<arreglo[j+1]) then
                   begin
                    aux:=arreglo[j];
                      arreglo[j]:=arreglo[j+1];
                        arreglo[j+1]:=aux;

                         end;
                           end;
                             end;

                               writeln('La lista de numeros ordenados descendentemente es:');
                                 for i:=1 to 6 do
                                  begin
                                   write('[',arreglo[i],'] ');
                                    end;
                                     readkey;
                                      end;




        2: begin
       ClrScr;
       for i:=1 to 6 do
       begin
            write('Ingrese los numeros A,B,C,D,E,F: ');
            readln(arreglo[i]);
            end;

            for i:=1 to 5 do
             begin
              for j:=1 to 5 do
                begin
                 if (arreglo[j]>arreglo[j+1]) then
                   begin
                    aux:=arreglo[j];
                      arreglo[j]:=arreglo[j+1];
                        arreglo[j+1]:=aux;

                         end;
                           end;
                             end;

                               writeln('La lista de numeros ordenados ascendentemente es:');
                                 for i:=1 to 6 do
                                  begin
                                   write('[',arreglo[i],'] ');
                                    end;
                                     readkey;

                                        end;
        3: begin
        ClrScr;

        writeln('Introduzca el numero "A"');
        readln(A);
        writeln('Introduzca el numero "B"');
        readln(B);

          V:= A*B;
            writeln('El resultado de multiplicar   ');
            write(A);
            write(' por ');
            write(B);
            write(' es: ');
            writeln(V);
            writeln;

            writeln('Introduzca el numero "C"');
               readln(C);
                 W:= V*C;
            writeln('El resultado de multiplicar   ');
            write(V);
            write(' por ');
            write(C);
            write(' es: ');
            writeln(W);
            writeln;

        writeln('Introduzca el numero "D"');
               readln(D);
                  X:= W*D;
             writeln('El resultado de multiplicar  ');
             write(W);
             write(' por ');
             write(D);
             write(' es: ');
             writeln(X);
             writeln;

        writeln('Introduzca el numero "E"');
               readln(E);
                  Y:= X*E;
             writeln('El resultado de multiplicar  ');
             write(X);
             write(' por ');
             write(E);
             write(' es: ');
             writeln(Y);
             writeln;

        writeln('Introduzca el numero "F"');
               readln(F);
                 Z:= Y*F;
             writeln('El resultado de multiplicar  ');
             write(Y);
             write(' por ');
             write(F);
             write(' es: ');
             writeln(Z);
             writeln;
                    readkey;
                         end;
                         end;


                 4: begin
                    

                     halt(1);
                           end;




             end.      



29-Jun-2014 14:10
Luis Torres (+18)

El "end;" que está antes de la opción 4 del case, está demás.
Saludos.


30-Jun-2014 07:32
Invitado (Ungato)

Muchas gracias!, son esas pequeñeces que uno le da vuelta y vuelta y no sabe que esta haciendo mal.






(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.)