C++ Do-While Döngüsü

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şul i <= 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ğunda break 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ğunda continue 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.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir