[ Foro de Pascal ]

Necesito ayuda

27-Jul-2021 02:42
Invitado (Ricardo)
2 Respuestas

Hola necesito ayuda para realizar este programa pero no tengo idea de como hacerlo, alguien me ayuda por favor?

Realice un menú dentro del menú principal (case anidado) pidiendo si desea sumar, restar, multiplicar o dividir dos números, depende la elección deberá pedir los valores y hacer la operación correspondiente, regresando al menu principal despues.


01-Sep-2021 14:31
Invitado (MonkeyDLuffy)

intenta hacer el menu con case. pedis un numero y depende ese numero realiza suma resta, etc.


01-Sep-2021 23:47
Luis Torres (+17)

Hola, he hecho el siguiente código para que te sirva de guía sobre cómo construir dos "case" anidados, en el menú principal solo está operativa la instrucción 3: Operaciones Aritméticas,  una vez que entres al menú aritmético (anidado al menú principal) solo podrás realizar la operación de Suma. Cuando te pida que introduzcas una opción de menú, deberás pulsar un número entero comprendido entre 1 y 4 incluyendo a ambos, para salir del programa pulsa la letra "s" (minúscula). Espero que te sirva de guía para resolver el problema, aunque la verdad es que solo falta completarlo con el resto de operaciones aritméticas. Saludos.


program Menu;

uses CRT;

var 
  mas: char;
  opc, opcOperacion: integer;
  numero1, numero2, resultado: integer;

procedure menuPrincipal;
Begin
   writeln('1.-  INSTRUCCION 1');
   writeln('2.-  INSTRUCCION 2');
   writeln('3.-  OPERACIONES ARITMETICAS');
   writeln('4.-  INSTRUCCION 3');

End;

function sumar(num1,num2: integer): integer;
Begin
  sumar:= num1 + num2;
End;

procedure menuOperacionesAritmeticas;
Begin
   writeln('1.-  SUMA');
   writeln('2.-  RESTA');
   writeln('3.-  MULTIPLICACION');
   writeln('4.-  DIVISION');
End;

BEGIN
  Repeat
      ClrScr;
      menuPrincipal;
	  write('Introduzca una opcion: ');
      readln(opc);
	    case opc of
		  1: begin
		      writeln('Usted eligio la opcion 1');
		     end;
		  2: begin
		      writeln('Usted eligio la opcion 2');  
             end;
		  3: begin
		      ClrScr;  
			  menuOperacionesAritmeticas;
			  write('Introduzca una operacion: ');
			  readln(opcOperacion);
			  case opcOperacion of
			    1: begin
				     writeln('Introduzca el primer numero: '); readln(numero1);
					 writeln('Introduzca el segundo numero: '); readln(numero2);
					 resultado:= sumar(numero1,numero2);
					 writeln('La suma da: ',resultado);
					 writeln('Presione ENTER para salir del menu aritmetico');
					 readln;
				   end;
			    2: begin
				     writeln('Usted eligio la opcion 2');
					 writeln('Presione ENTER para salir del menu aritmetico');
					 readln;
				   end;
			    3: begin
				     writeln('Usted eligio la opcion 3');
					 writeln('Presione ENTER para salir del menu aritmetico');
					 readln;
				   end;
			    4: begin
				     writeln('Usted eligio la opcion 4');
					 writeln('Presione ENTER para salir del menu aritmetico');
					 readln;
				   end
                else
				  begin
                     writeln('Usted eligió la opcion equivocada');
					 writeln('Presione ENTER para salir del menu aritmetico');
                     readln;					 
                  end;
              end;				  
			  ClrScr;
             end; 
		  4: begin
 		      writeln('Usted eligio la opcion 4'); 
             end
          else 
            writeln('Error, el numero debe estar comprendido entre 1 y 4')
        end;			
      write('Desea salir? (Si quiere salir pulse la tecla s minuscula): ');
	  readln(mas);
  Until (mas = 's');

END.






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