Dalam tutorial ini, kita akan mempelajari penggunaan while dan do… while loop dalam pemrograman C ++ dengan bantuan beberapa contoh.
Dalam pemrograman komputer, loop digunakan untuk mengulang satu blok kode.
Misalnya, kita ingin menampilkan pesan 100 kali. Kemudian alih-alih menulis pernyataan print 100 kali, kita dapat menggunakan loop.
Itu hanyalah contoh sederhana; kita dapat mencapai efisiensi dan kecanggihan yang jauh lebih banyak dalam program kita dengan memanfaatkan loop secara efektif.
Ada 3 jenis loop di C ++.
forloopwhileloopdo… whileloop
Dalam tutorial sebelumnya, kita belajar tentang C ++ for loop. Di sini, kita akan belajar tentang whiledan do… whileloop.
C ++ saat Loop
Sintaks dari whileloop adalah:
while (condition) ( // body of the loop )
Sini,
- Sebuah
whileloop mengevaluasicondition - Jika
conditiondievaluasi ketrue, kode di dalamwhileloop dijalankan. - Itu
conditiondievaluasi lagi. - Proses ini berlanjut hingga saat
conditioninifalse. - Saat
conditionmengevaluasi kefalse, loop berakhir.
Untuk mempelajari lebih lanjut tentang conditions, kunjungi C ++ Relational and Logical Operator.
Diagram alir saat Loop
Diagram alir C ++ while loop
Contoh 1: Menampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )
Keluaran
1 2 3 4 5
Berikut cara kerja program ini.
| Pengulangan | Variabel | saya <= 5 | Tindakan |
|---|---|---|---|
| 1st | i = 1 | true | 1 dicetak dan iditingkatkan menjadi 2. |
| 2nd | i = 2 | true | 2 dicetak dan iditingkatkan menjadi 3. |
| 3 | i = 3 | true | 3 dicetak dan iditingkatkan menjadi4 |
| 4th | i = 4 | true | 4 dicetak dan iditingkatkan menjadi 5. |
| 5 | i = 5 | true | 5 dicetak dan iditingkatkan menjadi 6. |
| 6 | i = 6 | false | Loop dihentikan |
Contoh 2: Hanya Jumlah Bilangan Positif
// program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Keluaran
Masukkan nomor: 6 Masukkan nomor: 12 Masukkan nomor: 7 Masukkan nomor: 0 Masukkan nomor: -2 Jumlahnya 25
Dalam program ini, pengguna diminta untuk memasukkan nomor yang disimpan dalam nomor variabel.
Untuk menyimpan jumlah angka, kami mendeklarasikan jumlah variabel dan menginisialisasinya ke nilai 0.
The whileLoop berlanjut sampai pengguna memasukkan angka negatif. Selama setiap iterasi, angka yang dimasukkan oleh pengguna ditambahkan ke variabel jumlah.
Saat pengguna memasukkan angka negatif, loop berakhir. Akhirnya, jumlah total ditampilkan.
C ++ melakukan… saat Loop
The do… whileLoop adalah varian dari whilelingkaran dengan satu perbedaan penting: tubuh do… whileloop dieksekusi sekali sebelum conditiondiperiksa.
Sintaksnya adalah:
do ( // body of loop; ) while (condition);
Sini,
- Tubuh loop dieksekusi pada awalnya. Kemudian
conditiondievaluasi. - Jika
conditiondievaluasi ketrue, badan loop di dalamdopernyataan tersebut dijalankan lagi. - Itu
conditiondievaluasi sekali lagi. - Jika
conditiondievaluasi ketrue, badan loop di dalamdopernyataan tersebut dijalankan lagi. - Proses ini berlanjut hingga
conditionevaluasi kefalse. Kemudian loop berhenti.
Flowchart melakukan… saat Loop
Flowchart C ++ do… while loop
Contoh 3: Menampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )
Keluaran
1 2 3 4 5
Berikut cara kerja program ini.
| Pengulangan | Variabel | saya <= 5 | Tindakan |
|---|---|---|---|
i = 1 | tidak diperiksa | 1 dicetak dan iditingkatkan menjadi 2 |
|
| 1st | i = 2 | true | 2 dicetak dan iditingkatkan menjadi 3 |
| 2nd | i = 3 | true | 3 dicetak dan iditingkatkan menjadi 4 |
| 3 | i = 4 | true | 4 dicetak dan iditingkatkan menjadi 5 |
| 4th | i = 5 | true | 5 dicetak dan iditingkatkan menjadi 6 |
| 5 | i = 6 | false | Loop dihentikan |
Contoh 4: Hanya Jumlah Bilangan Positif
// program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )
Keluaran 1
Masukkan nomor: 6 Masukkan nomor: 12 Masukkan nomor: 7 Masukkan nomor: 0 Masukkan nomor: -2 Jumlahnya 25
Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -6 The sum is 0.
The body of the do… while loop runs only once if the user enters a negative number.
Infinite while loop
If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true) ( // body of the loop )
Here is an example of an infinite do… while loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
In the above programs, the condition is always true. Hence, the loop body will run for infinite times.
for vs while loops
A for loop is usually used when the number of iterations is known. For example,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Here, we know that the for-loop will be executed 5 times.
Namun, whiledan do… whileloop biasanya digunakan ketika jumlah iterasi tidak diketahui. Sebagai contoh,
while (condition) ( // body of the loop )
Lihat contoh berikut untuk mempelajari lebih lanjut:
- Program C ++ untuk Menampilkan Seri Fibonacci
- Program C ++ untuk Menemukan GCD
- Program C ++ untuk Menemukan LCM








