#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."
*/