C++ If, Else If ve Else ile Koşulları Yönetme (Visual Studio 2022)
- 17
- (1)
- (5)
- 08 Eyl 2024
if Kullanımı
if
komutu ile belli bir koşul doğrulanırsa çalışacak komutlar yazılır.
if (koşul) {
koşul doğru ise çalışacak komutlar
}
Aşağıdaki basit örnek ile girilen iki sayıdan ilki küçük ise ekrana metin yazdırılacaktır.
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Turkish");
cout << "İlk sayıyı girin: ";
int a;
cin >> a;
cout << "İkinci sayıyı girin: ";
int b;
cin >> b;
if (a < b) {
cout << "İlk sayı ikinciden küçüktür\n\n";
}
}
Ekrana İlk sayı ikinciden küçüktür yazdırılacaktır.
if ile Beraber else if ve else Kullanımı
if
komutunun koşulu ile beraber diğer koşulları denetlemek için else if
komutu kullanılır. Bütün koşulların yanlış olduğu durum için ise else
içerisindeki komutlar çalıştırılır.
if (koşul1) {
koşul1 doğru ise çalışacak komutlar
}
else if (koşul2) {
koşul2 doğru ise çalışacak komutlar
}
else if (koşul3) {
koşul3 doğru ise çalışacak komutlar
}
else {
koşul1, koşul2 ve koşul3 koşullarının
hiçbiri doğru değilse çalışacak komutlar
}
Aşağıdaki örnekte girilen iki sayının hangisinin küçük olduğu veya eşit oldukları koşullarına göre if
yapısı kodlanmıştır.
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Turkish");
cout << "İlk sayıyı girin: ";
int a;
cin >> a;
cout << "İkinci sayıyı girin: ";
int b;
cin >> b;
if (a < b) {
cout << "İlk sayı ikinciden küçüktür\n\n";
}
else if (b < a) {
cout << "İkinci sayı ilkinden küçüktür\n\n";
}
else {
cout << "İki sayı birbirine eşittir\n\n";
}
}
Koşulların Birbirine Bağımlılığı
Bazen birden fazla koşulu denetlerken bu koşulların birbirlerine olan bağlılığı doğru anlaşıldıktan sonra if
koşulları ile kodlama yapılmalıdır.
Mesela
if (koşul1) {
koşul1 doğru ise çalışacak komutlar
}
else if (koşul2) {
koşul2 doğru ise çalışacak komutlar
}
else if (koşul3) {
koşul3 doğru ise çalışacak komutlar
}
Yukarıdaki kodlamada koşul1 doğru ise ilk if
içerisinde bulunan kodlar çalışacaktır. Diğer koşullar hiçbir şekilde denetlenmeyecektir.
Eğer koşul1 yanlış ama koşul2 doğru ise hiçbir surette koşul3 denetlenmeyecektir. koşul2 içerisindeki kodlar çalışacaktır.
Bazen hem koşul1 hem de koşul2'nin doğru olduğu durumlar söz konusu olabilir. Bu durumda else if
kullanılırsa sadece ilk doğrulanan koşulun içerisinde bulunan komutlar çalışır.
Mesela,
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Turkish");
cout << "Bir sayı girin: ";
int a;
cin >> a;
if (a < 10) {
cout << "Sayı bir basamaklıdır\n\n";
}
else if (a < 100) {
cout << "Sayı iki basamaklıdır\n\n";
}
else if (a < 1000) {
cout << "Sayı üç basamaklıdır\n\n";
}
else if (a < 10000) {
cout << "Sayı dört basamaklıdır\n\n";
}
else {
cout << "Sayı beş veya daha fazla basamaklıdır\n\n";
}
}
Eğer 5 sayısını girerseniz, a < 10
, a < 100
, a < 1000
, a < 10000
koşullarının hepsini doğrular. Ancak ilk doğrulanan koşul a < 10
olacağı için sadece o koşula bağlı komutlar çalışır. Diğer koşullar denetlenmeden bile if
yapısının tamamı sonlandırılır. Ve ekrana verilecek çıktı şu şekilde olur.
Eğer 804 sayısını girerseniz a < 10
, a < 100
koşulları sırayla denetlenecektir ve yanlış olduğu için içlerindeki kod satırlarına girilmeyecektir. a < 1000
koşulu doğrulandığında ise bu koşulun içindeki kod satırları çalışacaktır. Sonraki koşul doğru olsa bile denetleme yapılmayacaktır.
Ancak bazı durumlarda bu koşulların tamamının denetlenmesini isteyebilirsiniz. Mesela,
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Turkish");
cout << "Bir sayı girin: ";
int a;
cin >> a;
if (a < 10) {
cout << "Sayı ondan küçüktür\n\n";
}
if (a < 100) {
cout << "Sayı yüzden küçüktür\n\n";
}
if (a < 1000) {
cout << "Sayı binden küçüktür\n\n";
}
if (a < 10000) {
cout << "Sayı on binden küçüktür\n\n";
}
}
Yukarıdaki örnekte bütün if
yapıları birbirinden farklı olduğu için her biri ayrı ayrı denetlenir. Yani koşullar birbirine bağımlı değildir.
Eğer girilen sayı 54 olursa doğrulanan her koşulun içerisindeki satırlar çalıştırılacaktır.
İlişkili İçerikler
Bu makale içerisinde Visual Studio 2022 üzerinde C++ konsol uygulaması oluşturup, üzerinde değişik örnekler denenmektedir. İnceleyip uygulayabilirsiniz.