Firewall Posted March 18, 2012 at 01:18 PM Report #444451 Posted March 18, 2012 at 01:18 PM 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
nunopicado Posted March 18, 2012 at 02:35 PM Report #444454 Posted March 18, 2012 at 02:35 PM 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.
Firewall Posted March 18, 2012 at 03:16 PM Author Report #444458 Posted March 18, 2012 at 03:16 PM @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 🙂
nunopicado Posted March 18, 2012 at 03:22 PM Report #444459 Posted March 18, 2012 at 03:22 PM 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.
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