• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jlopes90

Programa com Subprogramas

4 mensagens neste tópico

Boas,

Vou aqui deixar um programa que utiliza um menu com vários subprogramas.

program util;
uses crt;
var opcao:char;
procedure opcao1;
var numero1,numero2,operador,result:longint;
begin
writeln ('==================================================');
writeln ('1: Calculadora Simples');
writeln ('==================================================');
writeln ('Insira o primeiro valor:');
readln (numero1);
writeln ('Insira o segundo valor:');
readln (numero2);
clrscr;
writeln ('|-----------------------------------|');
writeln ('|        Valores Escolhidos         |');
writeln ('|-----------------------------------|');
writeln ('|Primeiro Numero: ',numero1,'                 |');
writeln ('|Segundo Numero: ',numero2,'                  |');
writeln ('|-----------------------------------|');
writeln ('');
repeat
  begin
   writeln ('|-----------------------------------|');
   writeln ('|        Escolha de Operador        |');
   writeln ('|-----------------------------------|');
   writeln ('|[1] - Adicao                       |');
   writeln ('|[2] - Subtracao                    |');
   writeln ('|[3] - Multiplicacao                |');
   writeln ('|[4] - Divisao Inteira              |');
   writeln ('|-----------------------------------|');
   writeln ('Insira a sua escolha:');
   readln (operador);
   case operador of
    1: result := (numero1+numero2);
    2: result := (numero1-numero2);
    3: result := (numero1*numero2);
    4: result := (numero1 div numero2);
   else
    writeln ('Escolha de operador invalida.. tente novamente.');
   end;
   writeln ('O resultado da operacao e: ',result);
   writeln ('Prima qualquer tecla para voltar ao menu');
   readkey;
  end;
until (operador <> 0);

end;

procedure opcao2;
var valor1,valor2:real;
function calculamedia (v1,v2:real):real;
begin
  calculamedia := (v1+v2)/2;
end;
begin
clrscr;
writeln ('==================================================');
writeln ('2: Calcular Media 2 Valores');
writeln ('==================================================');
repeat
  writeln ('Insira o primeiro valor:');
  readln (valor1);
  writeln ('Insira o segundo valor:');
  readln (valor2);
until (valor1 <> 0) and (valor2 <> 0);
clrscr;
writeln ('|-----------------------------------|');
writeln ('|        Valores Escolhidos         |');
writeln ('|-----------------------------------|');
writeln ('|Primeiro Numero: ',valor1,'               |');
writeln ('|Segundo Numero: ',valor2,'                |');
writeln ('|-----------------------------------|');
writeln ('');
writeln ('O Resultado da Media: ', calculamedia (valor1,valor2):2:1);
writeln ('Prima qualquer tecla para voltar ao menu');
readkey;
end;

procedure opcao3;
begin
clrscr;
readkey;
end;
begin {Inicio do Programa}
repeat
  repeat
  clrscr;
  writeln ('===============================');
  writeln ('Programa Util - v1.1 by Jlopes90');
  writeln ('v1.0 - BETA Revisao 01-02-08');
  writeln ('===============================');
  writeln ('[1] Calculadora Simples');
  writeln ('[2] Calcular Media 2 Valores');
  writeln ('[3] Brevemente');
  writeln ('[4] Sair');
  writeln ('===============================');
  opcao := readkey;
  Until (opcao >= '1') and (opcao <= '4');
  Case opcao of
  '1' : opcao1;
  '2' : opcao2;
  '3' : opcao3;
  end;
  Until (opcao = '4');
end.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hey brigadao deu me jeito pa um trabalho q tive de fazer para sistemas :(

uma duvida.. e se eu quiser por exemplo incorporar um cronometro ou outro programa em vez do "brevemente"? assim mudava e em vez de brevemente metia cronometro..

thanks!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Então tens no código uma linha que diz "procedure opcao3" e de seguida o begin de abertura desse procedimento certo?

Metes o codigo do cronometro entre esse begin e end e no fim do programa, na linha writeln ('[3] Brevemente'); alteras o brevemente para o texto que quiseres, por ex: cronometro.

Espero ter ajudado,

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado mesmo ! :(

quem quiser eu meto aqui o codigo do programa com cronometro e com menu diferente e tal .. :thumbsup:

obrigado novamente ! :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora