[ Foro de Pascal ]
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.
El "end;" que está antes de la opción 4 del case, está demás.
Saludos.
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.)