C++ Karar Yapıları (if-else if)

1- Karar Yapıları ve Kullanım Amaçları

Karar yapıları(if – else if – else) birden fazla olasılığın olduğu ve her bir olasılık için farklı işlemler yapılması gerektiği durumlarda kullanılan yapılardır diyebiliriz.

Şekil-1: Karar Yapıları Örneği-1

Örnek-1: Kullanıcıdan cinsiyetini girmesini istediniz ve kullanıcının gireceği cinsiyet verisine göre, farklı sorular sormanız gerekmekte.

Cinsiyet verisi “Kadın” olan biri için, “Hoşgeldiniz hanımefendi” diye başlayıp cinsiyetine göre sorular soracaksınız.

Aynı şekilde cinsiyet verisi “Erken” olan başka birisi için ise “Hoşgeldiniz beyfendi” diye başlayıp cinsiyetine göre sorular soracaksınız.

Bir diğer olasılık ise, kullanıcının hatalı veri girişi yapmış olma durumu. Bu durumda da ya kullanıcıdan cinsiyet verisini tekrar isteyecek ya da hata mesajı verip işlemleri sonladıracaksınız.

İşte karar yapıları, yukarıdaki örnekte olduğu gibi birden fazla olasılığın olduğu ver herbir olasılık için farklı işlemler yapılması gerektiği durumlarda kullanılır.

C++ dilinde karar yapıları if – else if – else türünden kelimeler ile oluşturulur. Her bir if veya else if cümleciğinde bir olasılığın gerçekleşmiş olup olmadığının karşılaştırması söz konusudur.

Yani türkçe şöyle bir cümle kurarsınız, eğer olasılık birin şartları var ise şu işlemleri gerçekleştir.

Eğer olasılık ikinin şartları var ise şu işlemleri gerçekleştir.

Diğer iki olasılık gerçekleşmemiş ise de hata mesajı ver ve işlemleri sonlandır.

Yukarıda Türkçe yazdığımız cümleleri, C++ dilinde yazdığımız zaman ise bu bir program olacaktır.

İlk olasılığımız için if(“Karşılaştırma İfadesi”) şeklinde bir yazım gerekmekte.

if içerisindeki karşılaştırma ifadesi geçerli bir karşılaştırma ise if in hemen altında bulunan satırda “{ }” kırlangıç ifadeleri(Süslü Parantez) arasına, gerçekleştirilmesi istenilen işlemler satır satır yazılır. Bu satırlar sadece, if ifadesi içerisindeki koşul gerçekleşmiş ise çalıştırılır.

İkinci olasılık için ise else if(“Karşılaştırma İfadesi”) kullanımı gerçekleştirilir. İlk if ifadesi içerisindeki karşılaştırma sağlanmadığı zaman, ilgili if in “{ }” kırlangıçları arasındaki işlemler atlanarak bir sonraki else if veya else kullanımlarına bakılır.

Karşılaştırma ifadeleri yazmamız gereken tüm olasılıklar için else if yazdıktan sonra, geri kalan olasılıklar için ortak yapılması istenilen işlemler olması durumunda ise else ifadesi kullanılır. else ifadesi if veya else if ifadelerinden farklı olarak parantez içerisinde karşılaştırma ifadeleri yazılması gerekmez. Bu ifade diğer olasılıklar için yazılır ve ek bir karşılaştırma gerektirmez. Sadece “{ }” kırlangıçlar ile bu ifade çalıştırılması halinde gerçekleştirilmesi gereken işlem satırları yazılır.

Bu kadar anlatımdan sonra, artık konuyu C++ kodları üzerinde inceleyebiliriz.

 

Örneğimizi inceleyecek olur isek, if(“Şart”) satırında parantez içerisinde Cinsiyet değişkeninin değerinin “Kadın” olup olmadığına bakılmakta.

Cinsiyet değişkeninin “Kadın” değerine sahip olması durumunda if(“Şart”)‘ in altında bulunan “{ }” kırlangıçlar (süslü parantez) ler içerisindeki işlemler gerçekleştirilecektir.

Cinsiyet değişkeninin “Kadın” değerine sahip olmaması durumunda ise bir sonraki olasılık olan else if(“Şart”) satırında buradaki şartın sağlanıp sağlanmadığına bakılacaktır. Şart sağlanması halinde hemen altında bulunan kırlangıçlar arasındaki satırlar işletilecektir.

else if(“Şart”)  satırındaki şartında sağlanmaması durumunda ise derleyici bu sefer else kırlangıçları arasındaki satırları işleyecektir.

Yani, olasılıklardan bir tanesinin çalışması beklenmektedir.

Dikkat ettiyseniz, else de herhangi bir şart ifadesi bulunmamakta. Sebebi çok basit. Geri kalan tüm olasılıklar için bir şart ifadesi yazmaya gerek yoktur.

 

2- C++ Karar Yapıları Soru ve Cevaplar

Soru-1: Bir öğrencinin vize ve final notlarını alan, ve başarı notunu hesaplayan ve aşağıdaki kriterlere göre başarılı veya başarısız olduğunu belirleyen programı yazınız.
Başarı Notu = Vizenin 40% ve Finalin 60%.
Çıkan sonuç 50 den büyük ve ikinci sınav 60dan büyük isebaşarılı bir öğrencisiniz yazsın.
Aksi taktirde başarısızsınız desin

 

Soru-2: Kullanıcıya Şekil-1 de görüldüğü gibi haftanın günlerinden birine ait sıra numarasını seçmesini isteyin.
Kullanıcının 1 ile 7 arasında seçmiş olduğu sıra numarasına göre haftanın hangi gününü seçmiş olduğuna ait programı yazınız.

Soru-3: Kullanıcıdan girmiş olduğu ay ismine bakarak dört mevsimden hangisini seçmiş olduğunu bulan ve ekrana yazdıran programı yazınız

 

Soru-4: Kilo ve boy oranı alınmış bir kişinin vücut kitle indeksini hesaplayıp çıkan sonuca göre zayıf,
normal vb. sınıflara ayırarak kullanıcıya sunan programı yazınız(Kişinin 19-24 yaş aralığında olduğu kabul edilecek).
Vücut Kitle İndeksi hesaplamak için girilen boyun karesini alıp girilmiş kilo değerine bölünüz.
Çıkan sonuçta, <20 nin altı için Zayıf, >=20 ve <25 aralığı için normal, >=25 ve üstü için şişman sınıflandırmasını yapınız.

 

Soru-5: Kullacıdan ehliyet türünü isteyiniz. Ehliyet türüne kullanabileceği araçların isimlerini yazınız.

  • A sınıfı ehliyet iki tekerlekli motorsikletler kullanabilir.
  • B sınıf ehliyet otomobil veya kamyonetler kullanabilir.
  • C sınıfı ehliyet kamyon veya çekicileri kullanabilir.
  • D sınıfı ehliyet minibüs veya otobüs kullanabilir.
  • F sınıfı ehliyet traktör kullanabilir.

 

 

Osman SELVİ

Bir cevap yazın