C++ | Birlikte Yazılım Öğrenelim Serisi - Break ve Continue

YunusEmreOfficial

yedmedya.com
Premium Üye
Yardımsever Üye
Usta Üye
Mesaj
1.795
Çözümler
50
Beğeni
1.587
Puan
1.370
Ticaret Puanı
2
Merhaba yazılım meraklıları! 👨‍💻👩‍💻
"Birlikte Yazılım Öğrenelim" serimizin bu bölümünde C++ dilinde döngülerin kontrolünü ele alacağız. Bugünkü konumuz break ve continue ifadeleri olacak. Bu komutlar sayesinde döngüler üzerinde daha fazla kontrol sahibi olacağız.

Hadi başlayalım....

Break Nedir?​


break, bulunduğu döngüyü (for, while, do-while) anında sonlandırmak için kullanılır. Yani döngü daha devam edebilecek durumda olsa bile, break çalıştığında döngüden çıkılır.
İngilizceden Türkçeye çevirdiğinizde zaten "kırmak" anlamına geldiğini fark edeceksiniz.

Örnek :​


C++:
Genişlet Daralt Kopyala
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break; // i 5 olunca döngü bitirilir
    }
    cout << i << endl;
}

Ekran Çıktısı :​

Gördüğünüz gibi, i değeri 5'e ulaştığında döngü break ile durduruldu ve daha fazla yazdırılmadı.

Continue Nedir?​

continue, döngüyü durdurmaz. Ancak o anki adımı atlar, döngünün bir sonraki adımına geçilmesini sağlar.
İngilizce çevirisi de "devam et" anlamına geliyor.

Örnek :​

C++:
Genişlet Daralt Kopyala
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue; // i 5 olduğunda bu adımı atla
    }
    cout << i << endl;
}

Ekran Çıktısı :​

Gördüğünüz gibi 5 atlandı çünkü continue komutu çalıştı ve cout satırı atlandı.


Aslında her 2side döngülerde kullanılıyor. Ancak birinin görevi o anda döngüyü durdurmak diğeri ise o değeri görmezden gelerek atlamak.


Soru 1 : Kullanıcıdan Sayı Al, Negatifse Döngüyü Bitir (break)

Soru 2 : Kullanıcıdan aldığın sayılar tekse atlasın. (continue)

Soru 3 : 1 ile 20 arasında sayıları kontrol eden bir döngü kur. Şu kuralları uygula:
  • Eğer sayı çiftse, o sayıyı atla (continue).
  • Eğer sayı 17’ye ulaştıysa, döngüyü tamamen bitir (break).
  • Bu kurallara göre hangi sayılar yazdırılır?



Not : Olası hata bildirimleri, iletişim veya gelişmelerden erken haber almak için discord kanalıma gelebilirsiniz.
Linkleri görebilmek için giriş yap veya kayıt ol.


Önemli not: Bu konu ve açacağım diğer konular tamamen kendime ait konular herhangi bir yerden alıntı değildir.
MMOTutkunlarına özel içeriktir.
Lütfen alacaksanız bile kaynak gösteriniz.
Sevgilerle.
 

Soru 1 : Kullanıcıdan Sayı Al, Negatifse Döngüyü Bitir (break)

For döngüsü ile ;
C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int sayi;

    for (;;) {
        cout << "Bir sayı girin (negatifse çıkılır): ";
        cin >> sayi;

        if (sayi < 0) {
            cout << "Negatif sayı girildi, döngü sonlandırılıyor." << endl;
            break;
        }

        cout << "Girilen sayı: " << sayi << endl;
    }

    return 0;
}

While Döngüsü ile ;

C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int sayi;

    while (true) {
        cout << "Bir sayı girin (negatifse çıkılır): ";
        cin >> sayi;

        if (sayi < 0) {
            cout << "Negatif sayı girildi, döngü sonlandırılıyor." << endl;
            break;
        }

        cout << "Girilen sayı: " << sayi << endl;
    }

    return 0;
}

Do - While Döngüsü ile ;
C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int sayi;

    do {
        cout << "Bir sayı girin (negatifse çıkılır): ";
        cin >> sayi;

        if (sayi < 0) {
            cout << "Negatif sayı girildi, döngü sonlandırılıyor." << endl;
            break;
        }

        cout << "Girilen sayı: " << sayi << endl;

    } while (true);

    return 0;
}

Yukarıdaki 3 örnekte soru 1 için, peki ya soru 2 ve soru 3 ü yapabilirmisiniz ?
3 döngüyüde kullanmak zorunda değilsiniz.
 
Udemy Sart Hocam Emeginize saglık :)
 
Udemy Sart Hocam Emeginize saglık :)
Videolu olunca benimde şahsi fikrim daha akılda kalıcı yada insanlar öğrenirken sıkılmıyor, yazılıda oku oku oku insan sıkılıyor sanırım. Bu c++ bittiği zaman her konuyu pekiştirmek adına videolarını da çekicem inşallah pc izin verirse. 😂😂
 
Valla hocam eksik oldugum dersler javascprit dersler onlarda ortalama gun 2 saat youtube ders alıyorumda fakat fark ettigm olay anlatandanmı sorun var bendemi bilemedim bir turlu kafam almadı ama onerebilceginiz siz veya bir baskası varsa cok iyi olur
 
Bu sekilde bir paylasım yapmanız gercekten insanı mutlu ediyor forumda tebrik ediyorum
 
Valla hocam eksik oldugum dersler javascprit dersler onlarda ortalama gun 2 saat youtube ders alıyorumda fakat fark ettigm olay anlatandanmı sorun var bendemi bilemedim bir turlu kafam almadı ama onerebilceginiz siz veya bir baskası varsa cok iyi olur
Js için youtube de 1 2 hoca var udemyde toplu konusu var her 2sinide atayım hangisi hoşunuza giderse,
Ayrıca herkesin anlatım şekli farklıdır. Birisi detayına girer size sıkıcı gelir diğer arkadaşlara faydalı, yada tam tersi ezbere anlatır size kötü gelir diğer arkadaşlara güzel gelebilir bu durumda direk hocanızı ya da videolarınızı değiştirin. Şahsen ben öyle yapıyorum bi konuyu çalışacağım zaman.



Kesin öneririm, kendileri web üzerine çeşitli dillerde eğitim videoları var hatta discord kanallarında da varım bir çok arkadaş yararlı şeyler paylaşıyor.

Extra olarak kesinlikle önerebileceğim Engin Demiroğ var. Çoğu platformda aktif kendisi, eğitimlerinide sade ve günlük hayatta örneklerle ilerletiyor buda akılda kalıcığı artırıyor.
Udemy eğitiminde dediğim gibi tüm diller var bazıları hariç, c++ ve mvc gibi ama siz zaten jsyi sormuştunuz. Eğer udemy biraz pahalı gelirse youtube hesabıda var oradada eğitimleri görürsünüz ön bilgi için anlatımına bakmak için.
Hatta şöyle yapalım ben size kendi udemy hesabımı vereyim ben satın almıştım dersleride takip ediyorum zaten sizde bakmış olursunuz. İçerisinde bir çok eğitim var yararınıza olacağını düşünüyorum. Ö.M. den yolluyorum.

Engin Demiroğ ;
Udemy Kursu Tıkla.
Linkleri görebilmek için giriş yap veya kayıt ol.

Bu sekilde bir paylasım yapmanız gercekten insanı mutlu ediyor forumda tebrik ediyorum
Çok teşekkür ederim. Böyle güzel düşünmeniz mutlu etti. Gerçekten çok teşekkür ederim. Umarım tüm eğitim serisini bitirebilirim. Biraz yazılı olunca insanların ilgisini çekmiyor. Ancak zaten kendi öğrendiklerimi pekiştiriyorum. Sizler gibi güzel düşünceli arkadaşlarım olduğu zaman bu yolda motive ediyor beni tekrardan teşekkür ederim. ❤️🖐
 
Js için youtube de 1 2 hoca var udemyde toplu konusu var her 2sinide atayım hangisi hoşunuza giderse,
Ayrıca herkesin anlatım şekli farklıdır. Birisi detayına girer size sıkıcı gelir diğer arkadaşlara faydalı, yada tam tersi ezbere anlatır size kötü gelir diğer arkadaşlara güzel gelebilir bu durumda direk hocanızı ya da videolarınızı değiştirin. Şahsen ben öyle yapıyorum bi konuyu çalışacağım zaman.



Kesin öneririm, kendileri web üzerine çeşitli dillerde eğitim videoları var hatta discord kanallarında da varım bir çok arkadaş yararlı şeyler paylaşıyor.

Extra olarak kesinlikle önerebileceğim Engin Demiroğ var. Çoğu platformda aktif kendisi, eğitimlerinide sade ve günlük hayatta örneklerle ilerletiyor buda akılda kalıcığı artırıyor.
Udemy eğitiminde dediğim gibi tüm diller var bazıları hariç, c++ ve mvc gibi ama siz zaten jsyi sormuştunuz. Eğer udemy biraz pahalı gelirse youtube hesabıda var oradada eğitimleri görürsünüz ön bilgi için anlatımına bakmak için.
Hatta şöyle yapalım ben size kendi udemy hesabımı vereyim ben satın almıştım dersleride takip ediyorum zaten sizde bakmış olursunuz. İçerisinde bir çok eğitim var yararınıza olacağını düşünüyorum. Ö.M. den yolluyorum.

Engin Demiroğ ;
Udemy Kursu Tıkla.
Linkleri görebilmek için giriş yap veya kayıt ol.


Çok teşekkür ederim. Böyle güzel düşünmeniz mutlu etti. Gerçekten çok teşekkür ederim. Umarım tüm eğitim serisini bitirebilirim. Biraz yazılı olunca insanların ilgisini çekmiyor. Ancak zaten kendi öğrendiklerimi pekiştiriyorum. Sizler gibi güzel düşünceli arkadaşlarım olduğu zaman bu yolda motive ediyor beni tekrardan teşekkür ederim. ❤️🖐

Tesekur ederim hocam onerileriniz icin ya aslında eksik oldugum dersleri gunluk ortalama 2 saat ders alıyorim elbette yaptıgım kavradigım cok sey olabilir ogrenmiyorum desem yalan olur mesela ama sunu dilegetirebilir insan ac kalır ya benimde o durum dahada fazlası gerektigi icin artık dinledigim hocalarda sıkıldım bana farklı gelmeye baslıyınca dinlemeyi kestim muhakak onerdiginiz dersleri dinliyip uyguluyacam bu konu icinde tesekur ederim ustam eksik olmayın seviyorsunuz saygılarımla.❤️
 

Soru 2 : Kullanıcıdan aldığın sayılar tekse atlasın. (continue)

Burada şöyle düşünebiliriz: Kullanıcıdan sayılar alıyorsun ve eğer sayı tekse döngünün o adımını atla, yani sayıyı yazdırma veya işlemi yapma, direk sonraki adıma geç.

Soru 2:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int sayi;
    for (int i = 0; i < 5; i++) {  // 5 sayı alalım örnek olarak
        cout << "Sayi gir: ";
        cin >> sayi;

        if (sayi % 2 != 0) {
            continue;  // sayı tek ise atla
        }

        cout << "Cift sayi: " << sayi << endl;  // sadece çift sayıları yazdırır
    }
    return 0;
}

Soru 3 : 1 ile 20 arasında sayıları kontrol eden bir döngü kur. Şu kuralları uygula:

  • Eğer sayı çiftse, o sayıyı atla (continue).​

  • Eğer sayı 17’ye ulaştıysa, döngüyü tamamen bitir (break).​

  • Bu kurallara göre hangi sayılar yazdırılır?​


Soru 3:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 20; i++) {
        if (i % 2 == 0) {
            continue;  // çift sayıları atla
        }
        if (i == 17) {
            break;     // 17'ye ulaştığında döngüyü bitir
        }
        cout << i << " ";
    }
    return 0;
}

Çalışma mantığı:

Döngü 1’den başlar.

Çift sayılar atlanır.

Tek sayılar yazdırılır.

17’ye gelince döngü biter.

Çıktısı : 1 3 5 7 9 11 13 15
 
Merhaba yazılım meraklıları! 👨‍💻👩‍💻
"Birlikte Yazılım Öğrenelim" serimizin bu bölümünde C++ dilinde döngülerin kontrolünü ele alacağız. Bugünkü konumuz break ve continue ifadeleri olacak. Bu komutlar sayesinde döngüler üzerinde daha fazla kontrol sahibi olacağız.

Hadi başlayalım....

Break Nedir?​


break, bulunduğu döngüyü (for, while, do-while) anında sonlandırmak için kullanılır. Yani döngü daha devam edebilecek durumda olsa bile, break çalıştığında döngüden çıkılır.
İngilizceden Türkçeye çevirdiğinizde zaten "kırmak" anlamına geldiğini fark edeceksiniz.

Örnek :​


C++:
Genişlet Daralt Kopyala
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break; // i 5 olunca döngü bitirilir
    }
    cout << i << endl;
}

Ekran Çıktısı :​


Gördüğünüz gibi, i değeri 5'e ulaştığında döngü break ile durduruldu ve daha fazla yazdırılmadı.

Continue Nedir?​

continue, döngüyü durdurmaz. Ancak o anki adımı atlar, döngünün bir sonraki adımına geçilmesini sağlar.
İngilizce çevirisi de "devam et" anlamına geliyor.

Örnek :​

C++:
Genişlet Daralt Kopyala
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue; // i 5 olduğunda bu adımı atla
    }
    cout << i << endl;
}

Ekran Çıktısı :​


Gördüğünüz gibi 5 atlandı çünkü continue komutu çalıştı ve cout satırı atlandı.


Aslında her 2side döngülerde kullanılıyor. Ancak birinin görevi o anda döngüyü durdurmak diğeri ise o değeri görmezden gelerek atlamak.







Not : Olası hata bildirimleri, iletişim veya gelişmelerden erken haber almak için discord kanalıma gelebilirsiniz.
Linkleri görebilmek için giriş yap veya kayıt ol.


Önemli not: Bu konu ve açacağım diğer konular tamamen kendime ait konular herhangi bir yerden alıntı değildir.
MMOTutkunlarına özel içeriktir.
Lütfen alacaksanız bile kaynak gösteriniz.
Sevgilerle.
Öncelikle böyle bir düşüncen için teşekkürler,konuyu daha yeni görüyorum ve hortlatma isteğim uyandı

2.soruya gelecek olursak

2.Soru için:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;
int main(){
    int sayi;
    for(;;){
        cout << "Bir sayı giriniz\n";
        cin >> sayi
            if (sayi % 2 == 0){
                continue;
            }
        else {
            break;
        }
    }
}

3. soruya gelecek olursak buraya da onu hortlatıyorum.


3.soru için:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main(){
    for(int sayi; sayi<=20; sayi++){
        if (sayi % 2 == 0) {
            continue;
        }
        else{
            cout<< sayi << "\n";
        }
        if (sayi==17){
            break;
        }
    }
    return 0;
}

Varsa bir kusurum buraya yazabilirsiniz <3
 
Öncelikle böyle bir düşüncen için teşekkürler,konuyu daha yeni görüyorum ve hortlatma isteğim uyandı

2.soruya gelecek olursak

2.Soru için:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;
int main(){
    int sayi;
    for(;;){
        cout << "Bir sayı giriniz\n";
        cin >> sayi
            if (sayi % 2 == 0){
                continue;
            }
        else {
            break;
        }
    }
}

3. soruya gelecek olursak buraya da onu hortlatıyorum.


3.soru için:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main(){
    for(int sayi; sayi<=20; sayi++){
        if (sayi % 2 == 0) {
            continue;
        }
        else{
            cout<< sayi << "\n";
        }
        if (sayi==17){
            break;
        }
    }
    return 0;
}

Varsa bir kusurum buraya yazabilirsiniz <3
Rica ederim, yorumunuz için ben teşekkür ederim.
Zaten 2 gün önce paylaşmıştım belki cevap gelir diye bekledim ama ne yazıkki beğeniler dışında cevap gelmedi.

Öncelikle Soru 2den başlayalım. 7. satırda ; eksik 8.deki satırda ise if 1 tab kaymış. Aslında derlediğin zaman hemence düzeltirsinde birde istediğimizi karşılamıyor. Nedeni sonsuz döngüye sokman for( ;; ) yazarsan biliyosundur işlem sonsuz döngüye girer. aslında şu soruya göre çok mantıklı bir işlem çünkü herhangi bir sayıca kullanıcı veri girdi demedik. Bunun için tebrik ederim farklı bir bakış açısı olmuş ama içerisinde verdiğimiz değerleri değerlendirerek yazdıran cout nesnesi yok direk işlem devam ediyor. Birde if (sayi % 2 == 0) bu ife girer ama biz çiftleri yazdırmak istiyoruz zaten bu fonksiyon çiftleri atlar aksine biz tekleri yazdırıcaz yani == değil != olmalı.
2. için söyleyebileceklerim bunlar, biraz karışık söylemiş olabilirim direk okuduğum gibi yazıyorum.

3. cevap için.

Güzel mantıklı olmuş ellerinize sağlık. Yazım hatası yok ama coutu else de aldığın için sorumuzda şu vardı eğer 17 olursa döngü dursun du yani 17yi yazdırmayacak ama sen breakı sona aldığın için 17ye kadar yazdırıyor sonradan durduruyor. onun dışında yazımda hiç bir hata yok ellerine sağlık.

CEvapların için çok teşekkür ederim ellerine sağlık. <3
 
Geri
Üst