Jump to content

Duvidas nos Registros


Firewall
 Share

Recommended Posts

Olá mais 1 vez a Todos.

bom, estou aqui para retirar 1 dúvida. Estava pensando, se teria como na hora de eu estar adicionar os carros no ciclo For, eu parava o ciclo e perguntava se, o usuario queria mesmo adicionar mais 1 carro ou não.haveria como? (abaixo meu script).

begin  // inicio do programa  (**A1**)
  textbackground(15);
  for i:=1 to 10 do begin    //adicionar de 0   100 carros
      clrscr;
      corNormal;
      writeln('REALIZANDO REGISTRO DE NUMERO ',i);
      writeln;
      writeln('Nome do Automovel'); readln(registro[i].modeloCar);
      repeat
        if (registro[i].anoCar <= -1 ) then
          begin
            corRed;
            writeln;
            writeln('PorFavor, Informe Apenas Numeros Positivos');
            corNormal;
            end;
        writeln('Ano do Automovel'); readln(registro[i].anoCar);
      until (registro[i].anoCar >= 0 ); // s¢ vai repetir se o anoCar For Menor que 0 ( ex:  -1, -250)
      repeat
        if (registro[i].estoqueCar <= -1 ) then
          begin
            corRed;
            writeln;
            writeln('PorFavor, Informe Apenas Numeros Positivos');
            corNormal;
          end;
        writeln('Informe a Quantidade de Carros Que Possui no Estoque'); readln(registro[i].estoqueCar);
      until (registro[i].estoqueCar >= 0); // s¢ vai repetir se o estoqueCar for menor que 0;
      repeat
        if (registro[i].precoCar <= -1 ) then
          begin
            corRed;
            writeln;
            writeln('PorFavor, Informe Apenas Numeros Positivos');
            corNormal;
          end;
        writeln('Informe o Pre‡o unico destes Automoveis'); readln(registro[i].precoCar);
      until (registro[i].precoCar >= 0 ); // s¢ vai repetir se precoCar for menor que 0
      writeln('REGISTRO',i,'De 10 EFECTUADO(s)');
  end;

ai queria que logo após a informação que o registro foi concluido pedi-se se ele queria mesmo adicionar mais 1 carro, se não o programa sai do for

Link to comment
Share on other sites

Normalmente, quando não sabes exactamente o numero de vezes que o ciclo deve ser corrido, não se usa o FOR. Usavas o Repeat (Quando tens a certeza que deve correr pelo menos uma vez) ou o While (quando não há certeza sequer se deve correr a primeira vez).

No entanto, por uma questão de comodidade, também se usa muito o FOR nesses casos, e usa-se depois o comando BREAK para parar o ciclo, caso seja necessário.

Podes por dentro do teu ciclo uma questão a peguntar se quer executar outro, e se não quiser, usas o comando Break;

O ciclo irá terminar nesse momento.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Sim, o while neste caso não faria sentido.

O repeat resolvia perfeitamente, mas tinhas de criar um contador, e colocar no until o teste.

Com o FOR e o BREAK, torna-se mais rápido o processo.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.