Firewall Posted March 19, 2012 Report Share Posted March 19, 2012 Olá, bem aqui está um pedaço do meu ciclo for for i:=1 to 250 do begin //adicionar de 0 100 carros repeat clrscr; corRed; writeln('REALIZANDO REGISTRO DE NUMERO ',i); corPreto; writeln; writeln('Nome do Automovel'); readln(registro[i].modeloCar); repeat if (registro[i].anoCar <= -1 ) then begin writeln; corRed; writeln('PorFavor, Informe Apenas Numeros Positivos'); corPreto; 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) beleza, agora queria tirar 1 dúvida teria como por uma exceção ali no ciclo,exmeplo: eu vou lá e registro 1 vez, querian que quando o usuario termina-se de registrar o Automovel, o ciclo avança-se 1, assim quando o usuario for adicionar novos caros, não recomeça-se do 0, ai não teria que fazer denovo o registro1, registro2.... etou utilizando 1 recursividade , exmeplo: writeln('Deseja Adicionar um Novo automovel?'); corRed; writeln('Digite [s] - Para Adicionar um Novo Carro'); writeln('Digite [N] - Para Voltar ao Menu Principal'); corPreto; readln(addCarSN); addCarSN := upcase(addCarSN); if ( addCarSN = 'S') then begin j := j++1; // contador faz com que acumule a quantidade de registros que foram efetuados com sucesso end else begin j := j++1; // contador break; //QUEBRA o ciclo FOR,e volta para o menu principal end; esse j := j++1; é contador pra quando eu for ver os novos carros adicionados nao iria ver os 250 de 1 vez; e sim o tanto de vezes que ele registrou. como no no for abaixo: for i:=1 to j do begin será que tem como por 1 exceção lá no meu 1º for como eu fiz neste 2º for ? 😁 Link to comment Share on other sites More sharing options...
nunopicado Posted March 19, 2012 Report Share Posted March 19, 2012 Deixa ver se percebi. Queres ter um contador que indique quantos carros foram adicionados da última vez que essa operação foi feita. É isso? "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...
thoga31 Posted March 19, 2012 Report Share Posted March 19, 2012 Deixa ver se percebi. Idem 😁 A mim pareceu-me que, de facto, o @Firewall pretende que o utilizador registe um certo número de carros ao seu gosto e, quando quiser terminar, tem a escolha de sair. Contudo, se o utilizador pretender voltar a registar, o programa começaria do ponto onde tinha terminado em vez de começar do zero. Se é esse o caso, não há nada mais fácil 😉 var UltimoRegistoEfectuado : word; No início do programa: UltimoRegistoEfectuado := 1; E no ciclo: for i:=UltimoRegistoEfectuado to 250 do Aquando a escolha do utilizador do término do registo: UltimoRegistoEfectuado := i + 1: // o ciclo terá depois de começar no seguinte (i+1) e não exactamente no índice onde parou break; E voilá! 😁 É isto que necessitas, @Firewall? Cumpz. Knowledge is free! Link to comment Share on other sites More sharing options...
Firewall Posted March 19, 2012 Author Report Share Posted March 19, 2012 @thoga31 Yes, é isto mesmo, entendi seu raciocinio,e ele está de acordo com o meu. ti por incrivel que pareça, agora não é mais preciso utilizar meu ciclo antigo 😁 estou aproveitando este ciclo, consegui retirar 1 ciclo de autenticação, sendo assim uma optmização do programa. esta variavel word, terei que começar a usar ela 😁 Eu, estava querendo colocar, uma outra variavel no ciclo exemplo: for i:=1 to j to n do begin mas está forma es muito melhor =) @obs:não liguem para meu portugues-BR, estou aprendendo portugues-PT EDIT: aplicação da Regra 2.2. thoga31 Link to comment Share on other sites More sharing options...
nunopicado Posted March 19, 2012 Report Share Posted March 19, 2012 O tipo Word é como o Integer, com a diferença que não tem números negativos. Por exemplo num compilador onde o Integer (e Word) tenham 4 bytes: O Integer vai de -32768 a 32767. O Word vai de 0 a 65536. Fica-se assim com mais espaço de manobra nos numeros positivos, logo que os negativos não nos façam falta, como é o caso. "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...
thoga31 Posted March 20, 2012 Report Share Posted March 20, 2012 @obs:não liguem para meu portugues-BR, estou aprendendo portugues-PT Pois, mas mesmo em PT-BR não entendo esta expressão: Yes, é isto mesmo, entendi seu raciocinio,e ele está de acordo com o meu. ti por incrivel que pareça( tú es muito cagado), agora não é mais preciso utilizar meu ciclo antigo 😁 E parece mais que falas espanhol e não PT-BR... ? Tive de editar o teu tópico e eliminar aquela pequena expressão pois, em PT-PT, pode ser considerada uma ofensa, apesar de eu saber que não foi essa a tua intenção e eu não me sentir ofendido. Mas tenho de zelar pelo cumprimento das regras. 2.2) Não será tolerada qualquer tipo de falta de respeito para com outro utilizador, o respeito deve ser mutuo e o nosso objectivo é manter a comunidade com um espirito agradável. Mensagens desta natureza poderão ser apagadas ou editadas sem qualquer aviso. http://www.portugal-a-programar.pt/guidelines/ Cumprimentos. 😁 Knowledge is free! Link to comment Share on other sites More sharing options...
Firewall Posted March 23, 2012 Author Report Share Posted March 23, 2012 @thoga31, Sinceras desculpas, não sabia que isto era uma ofensa, terei que estudar mais sobre o PT =/ sobre as regras já li, leio em tempos vagos 😉 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