Você está na página 1de 2

www.tiexpert.

net

Pg. 1 de 2

Comando BREAK
O comando BREAK utilizado basicamente em conjunto com duas estruturas - as estruturas de iterao (FOR, WHILE e DO WHILE) e com o SWITCH. O break utilizado para sair abruptamente da estrutura. Por exemplo, se estivermos em uma iterao (repetio) e um tal resultado ocorrer, o programa deve sair da iterao. Em muito casos devemos utilizar isso. Pois nem sempre possvel que uma iterao possa ir at o fim. Para ficar mais simplificado, vejamos o exemplo: #include <iostream> #include <cstdlib> using namespace std; int main (void){ int i; for (i=1; i<=1000; i++) //i vai de 1 a 1000 { cout <<i<<"\n"; } cout <<"1a Sequencia - nao tem break - vai de 1 a 1000\n"; system ("pause"); for (i=1; i<=1000; i++) //i vai de 1 a 1000 { cout <<i<<"\n"; if (i==200) //se i for 200 break; //sair da iterao } cout <<"\n2a Sequencia - tem break - vai de 1 a 200, " cout <<"mesmo que tenha que acabar em mil\n"; system ("pause"); return EXIT_SUCCESS; } Na primeira iterao definimos: i deve comear em 1 e deve contar at que i seja menor ou igual a 1000. Como podemos ver, esta iterao vai de 1 a 1000. Na segunda iterao definimos a mesma coisa: i deve comear em 1 e deve contar at que i seja menor ou igual a 1000. Mas aqui, colocamos a seguinte condio: se i for igual a 200, ento saia da iterao (break). A iterao ainda continua sendo de 1 a 1000. Mas vai apenas de 1 a 200, pois quando chega a 200 o break ativado.

Comando Continue
O comando continue se parece com o comando break, mas a diferena que ele apenas ignora o resto do bloco de dados de uma iterao. Vamos imaginar um programa que deve retornar apenas os multiplos de 5 de uma sequncia dada pelo usurio. Ento, temos que verificar nmero por nmero e devemos ignorar todos os nmeros que no so multiplos de 5. Vejamos os exemplos: #include <iostream> #include <cstdlib> using namespace std; int main (void){ int inicio, limite, i; cout <<"Digite o incio da sequencia: "; cin >> inicio; cin.ignore (); cout <<"Digite o limite da sequencia: "; cin >> limite; cin.ignore (); http://www.tiexpert.net/programacao/c/break-e-continue.php

www.tiexpert.net
if (inicio>=limite){ cout <<"\aO limite deve se maior que o inicio"; main (); } for (i=inicio;i<=limite;i++){ if ((i%5)!=0) // se no for divisvel por 5 continue; // ignora o resto e continua com o for cout <<i<<"\n"; } cout <<"Sequencia com continue - mostra apenas multiplos de 5\n"; system ("pause"); return EXIT_SUCCESS; }

Pg. 2 de 2

Como podemos ver, sempre que um nmero no for mltiplo de 5 (ou no divisvel por 5), o programa deve ignorar o resto do bloco do for e repetir o cdigo com o nmero seguinte. como se o resto do cdigo nem estivesse l.
Autor: Denys William Xavier Este artigo est sob Licena Creative Commons Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

http://www.tiexpert.net/programacao/c/break-e-continue.php