loop while - continuação
A condição avaliada num loop pode ser qualquer expressão válida em C++, incluindo expressões construídas com o uso de operadores lógicos &&, ||, ! :
Uma das instruções que compõem um bloco de códigos do corpo de um loop while pode ser outro laço while. A essa situação denominamos laços while aninhados.
O exemplo a seguir leva um Button e dois Labels no Form. Quando o usuário der um clique no Button, uma sequência de loops será executada, mostrando o resultado final nos Labels:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption = "";
Label2->Caption = "";
bool bl = true; // variável que nos dará uma das formas de encerrar o loop
int i = 0; // variável para avaliação no primeiro loop
int j2 = 0; /* variável que contará o total de
vezes que o segundo loop executará */
/*enquanto i for menor ou igual a 10 e bl for verdadeira*/
while(i <= 10 && bl == true)
{
i++; // incrementa i (i = i + 1)
/*Label1 exibirá o número de vezes que o primeiro loop rodará*/
Label1->Caption = Label1-> Caption + " " + i;
int j = 10; // variável para avaliação no segundo loop
while(j >= 0) /*enquanto j for maior ou igual a zero*/
{
j--; // decrementa j (j = j - 1)
j2++; // incrementa j2
/*Label1 exibirá o número de vezes que o segundo loop rodará*/
Label2->Caption = Label2->Caption + " " + j2;
}
/*condição para forçar o encerramento do loop
antes de a variável i ser igual a 10*/
if (i >= 4 && j <= 6)
{
bl = false;
}
}
}
//---------------------------------------------------------------------------
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |