Firewall Posted March 18, 2012 Report Share Posted March 18, 2012 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 More sharing options...
nunopicado Posted March 18, 2012 Report Share Posted March 18, 2012 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 More sharing options...
Firewall Posted March 18, 2012 Author Report Share Posted March 18, 2012 @nonopicado muito obrigado, não fiz em "repeat" porque ia dar muita complicação, e o while, não achei útil nesta situação, tava querendo saber se existia mesmo,esta quebra de ciclo. Obrigado era o Break,que estava procurando 🙂 Link to comment Share on other sites More sharing options...
nunopicado Posted March 18, 2012 Report Share Posted March 18, 2012 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now