C++ dilinde do-while
döngüsü, belirli bir koşul sağlandığı sürece bir kod bloğunu tekrarlar. Ancak, do-while
döngüsünün while
döngüsünden farkı, koşulun döngünün sonunda kontrol edilmesidir. Yani, döngü en az bir kez çalışır, çünkü koşul döngü bitiminde kontrol edilir. Bu özellik, do-while
döngüsünü bazı durumlarda çok kullanışlı hale getirir.
do-while
Döngüsünün Temel Kullanımı
do-while
döngüsü, ilk önce kod bloğunun çalışmasını sağlar, ardından koşul doğru ise tekrar eder. Yani döngü her halükarda bir kez çalışacaktır.
Söz Dizimi:
do {
// Döngü gövdesi: Bu kod her zaman en az bir kez çalışacak
} while (koşul);
- Koşul: Döngü sonunda kontrol edilir. Eğer koşul doğruysa döngü bir kez daha çalışır, aksi takdirde döngü sona erer.
Örnek:
Kullanıcıdan bir sayı alıp, 1’den başlayarak o sayıya kadar olan sayıları yazdıralım. Kullanıcı 0 girene kadar bu işlem tekrarlansın.
#include <iostream>
using namespace std;
int main() {
int sayi;
do {
cout << "Bir sayi girin (0 girerseniz cikacak): ";
cin >> sayi;
cout << "Girilen sayi: " << sayi << endl;
} while (sayi != 0); // Koşul burada kontrol edilir
cout << "0 girildi. Program sonlandi." << endl;
return 0;
}
Bu örnekte:
- Kullanıcı her seferinde bir sayı girer. Eğer kullanıcı 0 girerse, döngü sona erer.
- Koşul:
sayi != 0
— Koşul 0 olmadığı sürece döngü devam eder.
Koşul Başlangıçta Yanlış Olursa
Eğer koşul başta yanlış olursa, do-while
döngüsü yine de bir kez çalışır, çünkü koşul döngü sonunda kontrol edilir.
#include <iostream>
using namespace std;
int main() {
int i = 11;
do {
cout << i << endl;
i++; // Artırma işlemi
} while (i <= 10); // Koşul döngü sonunda kontrol edilir
return 0;
}
Bu örnekte:
i
değeri 11’dir ve koşuli <= 10
yanlış olduğu için döngü sonlanacaktır.- Ancak, döngü bir kez çalışacak çünkü
do-while
döngüsünde koşul en son kontrol edilir.
do-while
Döngüsünde break
ve continue
Kullanımı
do-while
döngüsünde de break
ve continue
ifadelerini kullanabilirsiniz. Bu ifadeler döngü akışını değiştirir.
break
Kullanımı: Döngüyü anında sonlandırmak için kullanılır.
#include <iostream>
using namespace std;
int main() {
int i = 1;
do {
if (i == 5) {
break; // Döngü 5'e ulaştığında duracak
}
cout << i << endl;
i++;
} while (i <= 10);
return 0;
}
Bu örnekte:
- Döngü,
i
değeri 5 olduğundabreak
komutuyla sona erer. - Çıktı olarak yalnızca 1, 2, 3, 4 yazdırılır.
continue
Kullanımı: Döngüdeki bir adımı atlayıp bir sonraki adıma geçmek için kullanılır.
#include <iostream>
using namespace std;
int main() {
int i = 1;
do {
if (i == 5) {
i++; // `continue` yerine artırma burada yapılır
continue; // 5'i atla, döngü devam etsin
}
cout << i << endl;
i++;
} while (i <= 10);
return 0;
}
Bu örnekte:
i
değeri 5 olduğundacontinue
komutu ile bu değer atlanır ve döngü 6’ya geçer.- Çıktı olarak 1, 2, 3, 4, 6, 7, 8, 9, 10 yazdırılır.
do-while
Döngüsü ile Kullanıcı Girişi
Kullanıcıdan sürekli giriş almayı sağlamak için do-while
döngüsünü çok rahat bir şekilde kullanabiliriz. Aşağıdaki örnekte, kullanıcıdan pozitif bir sayı girmesi isteniyor ve 0 girene kadar döngü devam ediyor:
#include <iostream>
using namespace std;
int main() {
int sayi;
do {
cout << "Pozitif bir sayi girin (0 girerseniz cikacak): ";
cin >> sayi;
if (sayi > 0) {
cout << "Girilen sayi: " << sayi << endl;
} else if (sayi == 0) {
cout << "0 girildi. Program sonlandi." << endl;
} else {
cout << "Negatif sayi girdiniz. Tekrar deneyin." << endl;
}
} while (sayi != 0); // Koşul burada kontrol edilir
return 0;
}
Bu örnekte:
- Kullanıcıdan sürekli pozitif bir sayı isteniyor.
- Kullanıcı 0 girene kadar döngü devam ediyor.
- Negatif bir sayı girilirse kullanıcı uyarılıyor.
Sonuç
C++ dilinde do-while
döngüsü, her halükarda en az bir kez çalışacak şekilde kullanılan güçlü bir döngü yapısıdır. Koşul, döngü sonunda kontrol edildiği için döngü her durumda bir kez çalışır. Bu özellik, kullanıcıdan giriş alırken veya işlemleri en az bir kez gerçekleştirmek istediğiniz durumlarda oldukça kullanışlıdır. break
ve continue
gibi kontrol ifadeleri ile döngü akışını daha esnek hale getirebilirsiniz.