Birçok durum olmasına ve duruma göre farklı aksiyonlar almamız gerekmesine rağmen Geçiş Durumu Bildirimini kullanıyoruz. Birkaç kriter olduğunda, karşılandığında bazı talimatları tetiklememiz gerekecek. Bu durumda, uzun bir if .. else-if ifadesi veya bir switch ifadesi kullanabiliriz. Zorluk if … else-if, birden çok kriterimiz varsa karmaşıksa uzundur. Key case, bu gibi durumlarla başa çıkmanın gerçekten temiz ve verimli bir yoludur. Switch deyimi, bir değişkenin yalnızca eşlik için bir dizi değerle karşılaştırılmasına izin verir. Her değer bir durum olarak adlandırılır, bu nedenle her durum zaten açık olan değişkene göre doğrulanır. Switch deyimi aşağıdaki yönergelere tabidir:
- İfade, herhangi bir tamsayı veya numaralandırma biçiminde c türünde olmalı veya bir şekilde bir anahtar bildirimi içinde bir tamsayı veya numaralandırma biçimine dönüştürmelidir.
- Anahtar, herhangi bir toplu durum raporu içerebilir. Her durumun ardından iki nokta üst üste ve eşleşecek değer gelir.
- Örneğin sabit ifadesi, anahtar değişkenle aynı veri türünde olmalı ve bir sabit veya bir sayı olmalıdır.
- Bir açık değişken bir olaya eşit olduğunda, ondan önceki ifadeler, bir break ifadesiyle karşılaşılmadıkça çalışabilir.
- Anahtar, bir kesinti bildirimi ile karşılaşıldığında sona erer ve anahtar bildiriminden sonra kontrol akışı hatta geçer.
- Her durumda bir mola gerekli değildir. Herhangi bir kesinti oluşmazsa, bir kesinti bulunmadıkça kontrol akışı gelecekteki örnekler üzerinden devam edecektir.
- Varsayılan seçim, anahtar bildiriminde belirtilebilir ve anahtardan sonra gelmelidir. Örneklerin hiçbiri doğru olmasa da, görevi tamamlamak için varsayımsal bir senaryo kullanılabilir. Varsayılan senaryo boyunca kırılmaya gerek yoktur.
Örnek 01:
Switch deyiminin C++’da çalıştığını görmek için ilk örneğimizle başlayalım. Bu kılavuzu yaparken Ubuntu 20.04 kullanıyorduk. Ubuntu 20.04’te, “Ctrl + Alt + T” kısayol tuşuyla bir komut konsolu terminali açın. Artık Terminal başlatıldığına göre, aşağıda gösterildiği gibi dokunmatik sorguyu kullanarak “test.cc” adlı yeni bir c++ dosyası oluşturun.
Artık dosya oluşturulduğuna göre, onu ana klasörünüzden kontrol edebilirsiniz. Bu dosyayı düzenlemek üzere açmak için nano düzenleyiciyi kullanın. Bu nedenle, aşağıda gösterildiği gibi açmak için nano komutunu kullanın.
Artık dosya Nano Editör’de doğru şekilde açılıyor. Aşağıdaki kodu olduğu gibi dosyanıza yazmalısınız. Bu kod, dosyanın üst kısmındaki giriş ve çıkış akış başlığını içerir. C++’da herhangi bir koşuldan kaçınmak için ad alanını kullanmalıyız. Ana işlev, içindeki switch deyimini kullanmak için başlatılır. ‘num’ değişkenini içindeki ‘2’ değeri ile başlatıyoruz. Ardından, ‘num’ değişkenini içine ayrıştırırken switch deyimini başlatıyoruz. Switch deyimlerinin durumları artık başlatılmıştır. Burada kullandığımız toplam üç durum var. Her üç durum da tamsayı durumlarıdır. Durumlardan herhangi biri ‘num’ değişkeninin değeriyle eşleşirse, bu istisna için print ifadesi gecikmeden yürütülür. Dava tamamlanırken diğer tüm davalar göz ardı edilecektir. Break ifadesi, koşul yerine getirilirken switch ifadesinin akışını kesmek için kullanılır ve kontrol, switch ifadesinin dışında olacaktır. Anahtarın süresi dolduğunda ana yöntem kapanır. C++ kodunu sisteminize kaydetmek için “Ctrl + S” tuşlarına basın. “Ctrl + X” ile Nano Editor’dan çıkın.
Bu dosyayı çalıştırılabilir yapmak için öncelikle c++ kodumuzu derleyelim. Bunun için Linux işletim sistemimizde C++ derleyicisinin kurulu ve yapılandırılmış olması gerekmektedir. Hızlı bir şekilde yapmak için kabuğunuzda aşağıdaki sorguyu kullanmaya çalışmadığınız sürece.
$ sudo uygun İndirmekg++
Şimdi tercüman yüklendi, aşağıdaki komutu yazın ve çevirmek için Enter tuşuna basın.
test.cc dosyası derlenirken herhangi bir hata bulunamadı. Aşağıdaki sorgu ile bir dosyayı çalıştırmaya geçelim. Durum 2, “sayı” 2 değişkeninin değerinden memnun olduğundan, sonuç terminalde “İki” çıkışını görüntüler.
Örnek 02:
İşte switch deyiminin nasıl çalıştığını görmek için başka bir örnek. Aşağıdaki kodu dosyanıza kopyalayın. Bu sefer, switch deyiminde iletilmek üzere “blue” değerine sahip “color” dize türünde bir değişken kullanıyoruz. Anahtarda beyaz için “w” ve siyah için “b” olmak üzere iki durum kullandık. Bu koda yeni bir şey eklendi, örneğin varsayılan durum. Bu durum, switch deyimine iletilen değer, içinde belirtilen durumlardan herhangi biriyle eşleşmezse yürütülür, çünkü “mavi” rengini görebilirsiniz ve her iki durumla da eşleşmez. Bu kez varsayılan durum yürütülmelidir. Kodu kaydedin ve çıkın.
Aşağıdaki gibi g++ derleyicisi aracılığıyla C++ kodunu derleyin ve ardından dosya adını yazın.
Aşağıda belirtilen çıktı komutu kullanılarak bir dosya yürütülecektir. Çıktı, print deyiminin varsayılan durumda aşağıdaki gibi yürütüldüğünü gösterir.
Örnek 03:
Yukarıdakine benzer bir örnek daha verelim. test.cc dosyasını nano düzenleyici ile açın.
Aşağıdaki kodu açtığınız dosyada olduğu gibi yazınız. Ana yöntemde bir ‘n’ tamsayısını başlatıyoruz. Kullanıcıdan ‘cout’ ifadesini kullanarak öğrencinin puanını eklemesini istiyoruz. ‘n’ değişkenine kullanıcı tarafından girilen değeri saklamak için ‘cin’ ifadesi kullanılır. Kullanıcı tarafından switch deyiminde eklenen değer, kullanıcı tarafından eklenen değerle eşleşen göreli durumu kontrol etmek ve yürütmek için kullanılacaktır.
Önce kodu derleyin.
Yürütüldüğünde, kullanıcı 40 girdi ve “40” durumu yürütüldü.
Dosyayı tekrar çalıştırdıktan sonra herhangi bir durumla eşleşmeyen 10 değerini ekledi. Bu nedenle, varsayılan durum yürütülür.
Örnek 04:
Bu sefer hesap makinesi olarak hareket etmek için switch deyimini kullanıyoruz. Bu nedenle, bir karakter tipi değişkeni “op”, kayan tip değişkenleri n1 ve n2 ekledik. Kullanıcı tarafından eklenen operatöre göre, switch deyimi ilgili istisnayı atar. Göreceli durum, verilen operatörü her iki işlenene uygulayarak değeri hesaplayacaktır.
Kodu derleyin.
Kullanıcı ilk turda bir “/” ve iki sayı ekledi ve bölme yapıldı.
İkinci turda, kullanıcı bir ‘*’ ve iki sayı ekledi ve bunları çarptı.
Kullanıcı, üçüncü turda ‘&’ ve iki haneyi ekledi ve varsayılan durumu yaptı.
Çözüm:
Bu makale, switch deyimini, durumlarını ve varsayılan durumlarını örneklerle başarıyla ele almıştır. Umarım bu, C++’daki switch deyimleriyle ilgili tüm sorunlarda size yardımcı olur.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın