Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida no codigo em pascal!


di_sakai

Pergunta

Bom fellas consegui fazer o programa certinho e esta funcionando normal mas to com uma duvida

olhem:

Program proint1;
Uses wincrt;
            {Declaração de variáveis}
Var
   cod:integer;            {cod=código}
   pp,pt,qtd,des,vtc:Real; {pp=preço do produto,pt=preço total, qtd=quantidade, des=desconto, vtc=valor total da compra}

Begin        {inicio do programa}
     Writeln('Insira o código do produto...');
     readln(cod);
     begin
          If((cod<1) or (cod>40))then
          Begin
               Writeln('Codigo invalido');
          end
          else
          If((cod>=1)and(cod<=10))then
          begin
          pp:=10.00;
          end
          else
          If((cod>10)and(cod<=20))then
          begin
          pp:=15.00;
          end
          else
          If((cod>20)and(cod<=30))then
          begin
          pp:=20.00;
          end
          else
          begin
          pp:=30.00;
          end
     end;
     Begin
          Writeln('Digite a quantidade do produto...');
          readln(qtd);
          pt:=pp*qtd;
          If(pt<=500.00)then
          Begin
               des:=pt*5/100;
          end
          else
          If((pt>=500.01)and(pt<=1000.00))then
          begin
               des:=pt*10/100;
          end
          else
          begin
               des:=pt*15/100;
          end
     end;
     vtc:=pt-des;
          Writeln('O valor do produto é R$ ',pp:0:2,', O preço da sua compra é de R$ ',pt:0:2);
          writeln('O valor do descondo da sua compra é de R$ ',des:0:2);
          writeln('O valor final da sua conta é de ',vtc:0:2,'.');
          readkey;
          donewincrt;
                    {Fim do programa}
end.
Writeln('Insira o código do produto...'); 
     readln(cod);
     begin
          If((cod<1) or (cod>40))then
          Begin
               Writeln('Codigo invalido');

(nessa parte que estou com uma duvida como eu faço para que programa começe denovo quando aparece a msg condigo invalido quero que volte ao incio do programa sakaram?)

peço a juda de vocês por favor!!

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Cara, só tu usar o comando "goto" após o "writeln('Codigo invalido');", assim:

1) declara o rótulo antes de declarar as variáveis;

2) define onde iniciará;

3) após a mensagem coloca o comando "goto".

Program proint1;
Uses wincrt;
Label inicio; {Declarando Rótulo Início}
{Declaração de variáveis}
Var
cod:integer; {cod=código}
pp,pt,qtd,des,vtc:Real; {pp=preço do produto,pt=preço total, qtd=quantidade, des=desconto, vtc=valor total da compra}

Begin {inicio do programa}
inicio: {define onde iniciará a repetição}
.
.
.

Writeln('Codigo invalido');
goto inicio; {Comando "goto"}

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Hum... melhor não usar goto. Ele desestrutura todo o código, e se for usado em excesso, o deixará totalmente incompreensível. Além de que, caso isso seja um exercício de escola, é bem provável que seu professor não goste nada de ver goto em seu código.

Melhor usar alguma estrutura de repetição como o Repeat Until:

Repeat 
    Writeln('Insira o código do produto...');
    readln(cod);

      If ((cod<1) or (cod>40)) Then
      Begin
           Writeln('Codigo invalido');
      End;
Until (cod >= 1 And cod <= 40);

{Aqui continua o código}
      If((cod>=1)and(cod<=10))then
      begin
          pp:=10.00;
      end
{...}
{Lembre-se de tirar o End desnecessário que sobrou no final (referente ao If que eu substitui pelo Repeat).}[/code]

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...