amy_araujo 0 Denunciar post Postado Novembro 28, 2008 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
Beraldo 864 Denunciar post Postado Novembro 29, 2008 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
Kelvin Dules 0 Denunciar post Postado Fevereiro 15, 2009 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