Ana içeriğe atla

C++ If-Else Yapıları Değişkenlerin Yaşam Döngüsü ve Mantıksal Koşulları

 

#include<iostream>

#include<cmath>

using namespace std;


int main()

{

    /* Koşullu ifadeler if else */

    /*

    int sicaklik = 30; // Ortam sıcaklığı 30 derece olarak ayarlandı.


    if (sicaklik >= 35) // Ortam sıcaklığı 35 veya daha büyükse

    {

        cout << "Ortam sicak\n"; // Bu durumda çalışır

    }

    else // Ortam sıcaklığı 35’ten küçükse

    {

        cout << "Ortam sicak degil\n"; // Bu durumda çalışır

    }

    *\

    /* Yani ortam sıcaklığını takip eden değişken int sicaklik = 30; 'dir. */


    /* Kullanıcıdan Gelen Sıcaklığa Göre Pratik */

    /*

    int sicaklik;

    cout << "Lutfen sicaklik degerini giriniz. : ";

    cin >> sicaklik;


    if (sicaklik >= 35)

    {

        cout << "Ortam sicak\n";

    }

    else

    {

        cout << "Ortam sicak degil\n";

    }

    */


    /* 35 derce giren kullanıcı Çıktısı :

    Lutfen sicaklik degerini giriniz. : 35

       Ortam sicak


       30 derce giren kullanıcı Çıktısı :

       Lutfen sicaklik degerini giriniz. : 30

        Ortam sicak degil

    */


    /* Kullanıcıdan Parola Alma (Input) Uygulaması*/

    /*

    int sifre = 1234;

    int kullaniciInput;

    cout << "Lutfen sifrenizi giriniz : ";

    cin >>kullaniciInput;

    if (sifre==kullaniciInput)

    {

        cout << "Merhaba Parola Dogru Hos Geldiniz : "<<endl;

    }

    else

    {

        cout << "Sifre Hatali "<<endl;

    }

    */


    /* Hesap Makinesi Aygulama Alıştırma */

    int sayi1, sayi2,sonuc=0; //sonuc=0 olması declaration + initialization bir arada kullanılmış oldu açıklama aşağıda var.

    int islem;


    cout << "Lutfen 1. sayiyi giriniz : ";

    cin >> sayi1;

    cout << "Lutfen 2. sayiyi giriniz : ";

    cin >> sayi2;


    cout << "1 : Toplama // 2 : Cikarma // 3 : Carpma // 4 : Bolme : ";

    cin >> islem;


    if (islem==1) 

    {

        sonuc = sayi1 + sayi2;

    }

    else if (islem == 2)

    {

        sonuc = sayi1 - sayi2;

    }

    else if (islem == 3)

    {

        sonuc = sayi1 * sayi2;

    }

    else if (islem == 4)

    {

        sonuc = sayi1 / sayi2;

    }

    else

    {

        cout << "Output = Warning : Hatali islem girdiniz !!! \n";

    }

    cout << "islemin sonucu : " << sonuc << endl;

    return 0;

}

/* Declaration + Initialization */

/*

 int a;        // declaration

 int b = 5;    // declaration + initialization

 a = 10;       // assignment


*/


/*


1. Declaration (Tanımlama/Beyan)

Bilgisayara, "Bana ileride kullanmak üzere RAM'de şu isimde ve şu tipte bir yer ayır," demektir.


Örnek: int a;


Ne olur? RAM'de 4 byte'lık bir yer rezerve edilir.


Kritik Detay: C++'da bu kutunun içi şu an boştur demiyoruz, içinde "çöp değer" (garbage value) vardır. Yani o bellek adresinde daha önce hangi programdan ne kaldıysa (örneğin -85432) o görünür. Bu yüzden direkt yazdırmaya çalışırsan hata alabilirsin.


2. Initialization (Başlatma)

Değişkeni tanımladığın anda ona ilk değerini vermektir.


Örnek: int b = 5;


Ne olur? RAM'de yer ayrılır ayrılmaz içine 5 rakamı koyulur.


Neden Önemli? Güvenli kod yazmanın altın kuralıdır. Değişkenin içinde ne olduğunu kesin olarak bilirsin. C++ projelerinde (özellikle savunma sanayiinde) değişkenlerin "uninitialized" (başlatılmamış) bırakılması büyük bir güvenlik açığıdır.


3. Assignment (Atama)

Daha önceden tanımlanmış (declare edilmiş) bir değişkenin değerini değiştirmek veya ona yeni bir değer vermek demektir.


Örnek: a = 10;


Ne olur? Daha önce ayrılan a kutusunun içindeki eski (çöp) değer atılır ve yerine 10 yazılır.


Farkı: Initialization sadece doğum anında olur; Assignment ise değişkenin ömrü boyunca istediğin kadar yapılabilir.


Kavram          Kod Örneği   Gerçekleştiği An,Bellek Durumu

Declaration     int x;            Yer ayırma,Belirsiz (Çöp değer)

Initialization  int x = 10;     Yer ayırma + Değer verme,Güvenli (İlk değer)

Assignment      x = 20;       Değer güncelleme,Yeni değer eskisini ezer

"C++'da değişkenleri int sonuc = 0; şeklinde başlatmak (initialization), bellekteki çöp değerlerin (garbage values) programın sonucunu bozmasını önler. Bu, C#'tan farklı olarak dikkat edilmesi gereken bir disiplindir."

*/

Bu blogdaki popüler yayınlar

C++ float double string Aritmatik işlemler

  #include <iostream> using namespace std; //void fonk()  //{ // cout << "Merhaba\n"; //} // //int main()  //{ // cout << "Merhaba C++\n"; // // fonk(); // return 0; //} /* int main()  { //Değişkenler rakam ile başlayamaz //Değişken isimlerinde türkçe karakter olmaz //değişken isimleride boşluk olmaz //Değişken isimlerinde nokta vb karakter olmaz //******************************************** //int ram'da 4 byte yer kaplıyor -2147483648 to 2147483647 //char 1 byte  (ASCII tablosu) //bool 1 byte //float 4 byte //double 8 byte //CPU ramdan byte byte okur //Void herhangi bir return etmiyecekse kendi aldığı değerleri kullanır.Bir değer döndürmez. string isim; isim = "Kaan"; int yas; yas = 22; cout << "Bir zamanlar " << isim << " isminde bir genc varmis." << endl << isim << " " << yas << " yasindaymis." ...

C++ try catch, Call by Value, Call by Referans Kullanımı

  #include <iostream> using namespace std; //int main()  //{ // int bolunen, bolen; // cout << "Lutfen bolunen sayiyi giriniz : "; // cin >> bolunen; // cout << "Lutfen bolen sayiyi giriniz : "; // cin >> bolen; // // int sonuc; // // try{ // if (bolen == 0) // throw 99;//Burada throw için herhangi bir tam sayı girilir.örn: negatif sayılar gibi durumlar için çoğaltılabilir // sonuc = bolunen / bolen; // // cout << "Sonuc : " << sonuc; // } // catch(int hataKodu){ // cout << "Bolen sayi sifir olmamali !!" << endl; // } // // cout << endl; // return 0; //} /* try catch Kullanımı :  * try catch kullanıcının beklenmedik bir girdi vermesi sonucu  * programın çökmesini engllemek amacı ile kullanılır * Ayrıca veri tabanı bağlantılarında bağlantının olmaması ve  * işlem sonrasında veri tabanı bağlantısını kapatma veya programın başlangıcında bağlantıyı a...

Pointer ve & (ampersant) Konusunu Kavrayalım

  #include <iostream> #include <string> using namespace std; /* int main()  {  int x = 7; cout << "x 'in degeri : " << x << endl; cout << "x 'in RAM deki adresi : " << &x << endl;  // & ile ramdeki ilk adres değeri  000000D3ED4FFCF4 ni bulduk  // int 4 byte oldugundan bu adresde dahil 4 byte 'lik yerin tamamını hesaplar // ama bize  4 byte lik adresin ilk değerini verir. return 0;  } */ /* int main() { // Pointer  ve & (ampersant) Konusunu Kavrayalım int x = 7; int *p = &x; // pointer ile x 'in adres değerini bulma cout << "x 'in degeri : " << x << endl; cout << "x 'in & ile RAM deki adresi : " << &x << endl; //pointer ile gösterimi cout <<"pointer p ile adres degeri : "<< p << endl; cout << "*p ile ( *p = &x) x in pointer degeri : " <...