#include <iostream> //cout ve cin yazabilmek için bu kütüphane gerekli
#include <cmath>// matematik işlemleri için kullanılan kütüphanedir.#include <iostream> içinde de basit matematik işlemleri yapılabillir.
//#include <cmath> başka işletim sistemlerinde basit işlemler için kullanılması gerekir.Yukarıdaki durum Microsoft için geçerlidir.Garanti yöntem kütüphaneyi kullanmaktır.
#include <iomanip> //Yuvarlama hesaplam işlemleri için kullan
using namespace std;
int main()
{/*
//cout ve cin kullanımı cout arkaplanda yazılan değerleri kullanıcıya gösterir
//cin kullanıcıdan gelen değerleri işler ve kullanıcıya değeri döndürür.
string isim;
int en, boy, alan;
cout << "Merhaba Lutfen adinizi giriniz : ";
cin >> isim;
cout << "Merhaba " << isim << " C++ Derslerine hos geldin\n"; // <<endl; yazmak yerine \n yazmak aynı anlama gelir
cout << "Merhaba " << isim << " C++ Derslerine Geometrik Hesaplama\n";
cout << "Diktortgenin enini giriniz : ";
cin >> en;
cout << "Lutfen dikdortgenin boyunu giriniz : ";
cin >> boy;
//Hesaplama işlemi
alan = en * boy;
cout << "Sayin " << isim << " isleminizin sonucu : " << alan << endl;
*/
//Library Kütüphanesini Kullanma
//Matematikde Üs alma işlemi örneği
/*
int sonuc;
sonuc = pow(2, 3); //buradaki pow fonksiyonu üs alma operatörü içim cmath kütüphanesinden kullanıldı
cout << "sonuc : " << sonuc << endl; //Çıktısı : sonuc : 8 'dir. pow yardımıyla üs 2 nin üssü 3 olan sonucu 8 'dir.
*/
//Kullanıcıdan gelen değerlere göre üs hesaplama
/*
int sonuc,x,y;
cout << "Lutfen ussu alinacak sayiyi giriniz : " << endl;
cin >> x;
cout << "Lutfen ussun degerini olan y degerini giriniz : " << endl;
cin >> y;
sonuc = pow(x, y);
cout << "Sonuc : " << sonuc << endl;
*/
/*
* Lutfen ussu alinacak sayiyi giriniz :
9
Lutfen ussun degerini olan y degerini giriniz :
9
Sonuc : 387420489
*/
/* floor (taban demek) noktadan sonraki değeri görmez ve noktan önceki değeri yazdırır */
/*
int sonuc;
sonuc = floor(2.7);
cout << "Sonuc : " << sonuc << endl; //2.7 değerinin çıktısı Sonuc : 2 'dir.
*/
/* ceil (tavan demek) noktadan sonraki değeri noktadan önceki sayıya yuvarlar */
/*
int sonuc;
sonuc = ceil(2.3);
cout << "Sonuc : " << sonuc << endl; // 2.3 değerinin çıktısı Sonuc : 3 'dür.
*/
/* round alttaki en yakın değeri bir üste yuvarlar */
/*
int sonuc;
sonuc = round(2.5);
cout << "Sonuc : " << sonuc << endl;
// round(2.5) 'in değeri Sonuc : 3 'tür noktadan sonraki değer 5 'den küçük olur ise yuvarlamayı yapamaz ve noktadan önceki değeri yazdırır.
//round(2.499) olsa idi sonuc 2 'dir. Nokatdan sonraki ilk değeri görür ve 5 'den küçükse eğer noktadan önceki değeri yazdırır.
*/
/* C++ TAMAMLAYICI KODLAMA EGZERSİZİ
Kullanıcıdan 3 adet sınavv notu alınız (Sınav Notları tam sayı şeklinde olmalı)
Daha sonra bu notların ortalamasını bulup aşağıdaki şekilde yazdırsın :
I) double olarak küsüratlı (Noktadan sonra 2 dijit hassasiyet olsun)
II) Sonucu tam sayı olarak yazdırsın, yuvarlama yapasın.
Ör: Not 84.5 ise 85 şeklinde yuvarlasın
Not 84.49 ise 84 şeklinde yuvarlasın
Dikkat!! : #include <cmath> ve #include <iomanip> //Yuvarlama hesaplam işlemleri için kullan kütüphaneleri dahil etmeli.
*/
int sinav1, sinav2, sinav3;
cout << "Lutfen 3 adet sinav notlarini tam sayi olarak giriniz : ";
cin >> sinav1>> sinav2>> sinav3; //Tek satırda 3 notuda almış olduk
//I) double olarak küsüratlı (Noktadan sonra 2 dijit hassasiyet olsun)
double ortalama = (double)(sinav1 + sinav2 + sinav3) / 3.0; //3.0 'ın anlamı sonucun tam sayı olmadığını anlaması içi nokta 0 ile kullandık
cout << "I) Ortalama (ondalikli) : " << fixed << setprecision(2) << ortalama << endl;
//II) Sonucu tam sayı olarak yazdırsın, yuvarlama yapasın.
int sonuc = (int)round(ortalama); // ondalıklı dönen sonucu (int)round(ortalama); yardımı ile tam sayıya yuvarladık.
cout << "II) Ortalama (yuvarlamali = tamsayi) : " << sonuc << endl;
/*
* ÇIKTI :
* Lutfen 3 adet sinav notlarini tam sayi olarak giriniz : 90 75 55
I) Ortalama (ondalikli) : 73.33
II) Ortalama (yuvarlamali = tamsayi) : 73
*/
/* fixed << setprecision neydi hatırlayalım
double sayi = 12.3456;
cout << setprecision(3) << sayi; // Çıktı: 12.3 (Toplam 3 rakam)
cout << fixed << setprecision(3) << sayi; // Çıktı: 12.346 (Virgülden sonra 3 rakam)
Bu ikisi yanyana geldiğinde anlam değiştirirler:
fixed << setprecision(n) dersen;
setprecision artık toplam rakam sayısına değil, sadece virgülden sonra kaç basamak görüneceğine karar verir.
*/
return 0;
}
**** DİKKAT!!! ****
floor(2.7): Her zaman aşağı yuvarlar (Sonuç: 2).ceil(2.3): Her zaman yukarı yuvarlar (Sonuç: 3).round(2.5): En yakın tam sayıya gider (2.5 ve üstü yukarı, 2.5 altı aşağı)."C++'da bölme işlemi yaparken sonucun küsuratlı çıkmasını istiyorsanız, en az bir sayıyı
double olarak belirtmelisiniz!"double ortalama = (double)(sinav1 + sinav2 + sinav3) / 3.0;