Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

amy_araujo

Menu sair Pascal

Recommended Posts

ola pessoal eu tenhu esse programa aqui em pascal e gostaria de colocar um menu no final dele tipo asim:

pressione a tecla 1 para recomeçar

pressione a tecla 2 para sair

mas eu nao to sabendo fazer...nao sei se tenhu q declarar alguma variavel, nao to sabendo será q alguem poderia me ajudar? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

o programa é esse:

 

PROGRAM PrecoProduto;

VAR nome: ARRAY[1..5] OF STRING;

preco, imp : ARRAY[1..5,1..4] OF REAL;

frete: ARRAY[1..5] OF REAL;

i, j :INTEGER;

final : REAL;

BEGIN

CLRSCR;

FOR i := 1 TO 5 DO

BEGIN

WRITE('Digite o nome do ',i,' produto ');

READLN (nome);

END;

WRITELN;

FOR i := 1 TO 5 DO

BEGIN

FOR j := 1 TO 4 DO

BEGIN

WRITE('Digite o preco do ',i,' produto na loja ', j);

READLN(preco[i,j]);

END;

END;

WRITELN;

FOR i := 1 TO 5 DO

BEGIN

WRITE('Digite o frete do ',i,' produto');

READLN(frete);

END;

WRITELN;

FOR i := 1 TO 5 DO

BEGIN

FOR j := 1 TO 4 DO

BEGIN

IF (preco[i,j]<= 50)

THEN imp[i,j] := preco[i,j] * 5 / 100

 

ELSE IF (preco[i,j] > 50) AND (preco[i,j] <= 100)

THEN imp[i,j]:= preco[i,j] * 10 / 100

 

ELSE imp[i,j] := preco[i,j] * 20 / 100;

END;

END;

FOR i := 1 TO 5 DO

BEGIN

WRITELN('Nome do produto ',nome);

WRITELN('Frete = ', frete:5:2);

FOR j := 1 TO 4 DO

BEGIN

final := preco[i,j] + imp[i,j] + frete;

WRITELN('Imposto na loja ', j,' = ', imp[i,j]:5:2);

WRITELN('Preco na loja ', j, ' = ', preco[i,j]:5:2);

WRITELN('Preco final na loja ',j,' = ', final:5:2);

END;

READLN;

END;

READLN;

END

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso, o programa deverá rodar dentro de um loop.

Por exemplo:

 

Repeat
	{ Todo o programa aqui}
	Write('Digite 1 para reiniciar ou 2 para sair: ');
	Read(opcao);
Untill opcao <> 1;

OBS: Só não me lembro se "diferente" no Pascal é <> ou !=. (acho que é <>, mesmo)

 

OBS 2: Para obter a opção, seria interessante usar Readkey, que não necessita de um ENTER, como Read precisa. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria..

 

Repeat
  {O programa e tals}
	writeln('Digite sair para fechar o programa ou qualquer outra tecla para reiniciar');		 {Tanto faz o texto...}
	read(resposta);
		clrscr;
		until(resposta ='sair');

Nesse caso o programa reinicia com qualquer tecla e fecha com "sair". O clrscr; é só pra quando ele reiniciar limpar a tela.. senão bagunça B)

A única variavel seria resposta:string;

EDIT: Como você quer 1 para reiniciar e 2 para sair.. você só precisaria fazer algo com o 2.

until(resposta ='2');

 

Daí ele fecha com o 2 e reinicia com qualquer outra.. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.