C++ ile Gelişmiş Sınıf Örnekleri - Uçak Rezervasyon
Uçak isimli bir sınıf oluşturup, koltuk sayısı, modeli, ağırlığı ve yakıt kapasitesi de özellik olarak ekleyiniz ve aşağıdaki metodları tanımlayınız .
1.YapıcıMetod() Bu metod hiçbir parametre almayacaktır, varsayılan olarak yakıt kapasitesi=200 ve koltuk sayısı=100 olarak ayarlanacaktır.
2. YapıcıMetod() Bu metod iki parametre alacaktır, yakıt Kapasitesi ve koltuk sayısı, bunların girişi zorunludur.
yakıtDoldur(miktar) – Miktar değerini alarak o anki yakıt durumuna ekleme yapacak ama yakıt kapasitesini aşmayacak şekilde depo dolacak dolduracak. Örneğin 100 lt yakıt kapasitesi olsun, 50 lt depoda yakıt olsun, miktar 75 lt gelirse ekrana “Maksimum 50 lt daha doldurabilirsiniz, 75 lt çok fazla” yazacak ve 75 lt’yi eklemeyecek.
yakıtGöster() O anki depo durumunu gösterecek.
koltukArtir() Koltuk sayısını bir artıracak.
koltukSay() Toplam, Boş ve dolu koltuk sayısını verir.
bosKoltukGoster() Tüm boş koltukları gösterecektir.
koltukListele() Tüm koltukları ve kime rezerve edildiğini listelenecektir.
rezerveEt(koltukno, AdSoyad) – AdıSoyadı ve koltuk numarasını parametre alıp rezerve edecek.
Rezerve edilen koltuk bir daha rezerve edilemeyecek. Örneğin rezerveEt(5,”Oğuzhan TAŞ”) gönderildiğinde 5 nolu koltuk daha önce “Sinan Ercan” isimli kişiye rezerve edilmiş ise ekrana “5 nolu koltuk Sinan Ercan’a ayrılmış” diyecek ve ekrana boş koltukları listeleyecek.
Şimdi kodlamaya geçelim. IDE olarak Jet Brains Clion kullandım, sizler Eclipse veya NetBeans kullanabilirsiniz.

#include <iostream> using namespace std; class Ucak{ double yakitKapasite; int toplamKoltukSayisi, koltukSayisi; double depo; string *koltuk; public: Ucak() { yakitKapasite = 200; toplamKoltukSayisi = 100; depo = 0; koltukSayisi = 0; koltuk = new string[toplamKoltukSayisi]; for(int i=0;i<toplamKoltukSayisi-1;i++) koltuk[i]=""; cout<<"Yeni ucak oluşturuldu"<<"\n"; } Ucak(double _yakitKapasitesi, int _toplamKoltukSayisi) { yakitKapasite = _yakitKapasitesi; toplamKoltukSayisi = _toplamKoltukSayisi; depo = 0; koltukSayisi = 0; koltuk = new string[toplamKoltukSayisi]; for(int i=0;i<toplamKoltukSayisi-1;i++) koltuk[i]=""; cout<<"Yeni ucak olusturuldu"<<"\n"; } ~Ucak() { delete[] koltuk; } void yakitDoldur(double miktar) { if (depo + miktar > yakitKapasite) cout << "Maksimum " << yakitKapasite - depo << " kadar daha doldurabilirsiniz, " << miktar << " cok fazla"<<"\n"; else depo += miktar; } void yakitGoster() { cout << "Depo durumu:" << depo << " litre"<<"\n"; } void kolturkArtir() { koltukSayisi++; } void koltukSay(){ cout<<"Toplam koltuk sayisi:" <<toplamKoltukSayisi<<"\n"; int boskoltuksayisi=toplamKoltukSayisi-koltukSayisi; cout<<"Dolu koltuk sayisi:" <<koltukSayisi<<"\n"; cout<<"Bos koltuk sayisi:" <<boskoltuksayisi<<"\n"; }; void koltuguRezerveEt(int koltukNo, string adsoyad) { if (koltukNo < toplamKoltukSayisi) { if (koltuk[koltukNo - 1] == "") { koltuk[koltukNo - 1] = adsoyad; kolturkArtir(); } else cout << "Bu koltuk daha once " << koltuk[koltukNo - 1] << " isimli kisiye rezerve edilmis" << "\n"; } else cout<<toplamKoltukSayisi <<" kadar koltuk bulunmaktadır"; } void koltuklistele(){ for(int i=0;i<toplamKoltukSayisi;i++) cout<<i+1<<".koltuk="<<koltuk[i]<<"\n"; } }; int main() { Ucak u1(200,5); u1.koltukSay(); u1.koltuguRezerveEt(1,"Oguzhan TAS"); u1.koltuguRezerveEt(2,"Sinan Can"); u1.koltuguRezerveEt(2,"Ali Can"); u1.koltukSay(); u1.koltuklistele(); u1.yakitDoldur(100); u1.yakitGoster(); u1.yakitDoldur(250); return 0; }

Mutlu kodlamalar,
Oğuzhan TAŞ
Ocak, 2021

Dil Değiştir(Change Language)
Kategoriler
- Csharp(47)
- Csharp Formlar(9)
- Web Tasarım(10)
- CSS(24)
- JavaScript(32)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(14)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(27)
- MySQL(15)
- Linux(14)
- MacOSX(8)
- Ayarlar(11)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(1)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(1)
- Bash Script(6)
- C Programlama(10)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Csharp ile Access Veritabanı Bağlan...
- :: Hangi Linux Dağıtımı?
- :: SQL nedir, Temel SQL Komutları nele...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangisi acaba, PHP mi ASP.NET mi ?
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Web Tasarım öğrenmeye nereden başla...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Asp.net ile Sql Server Veritabanına...
- :: ASP.net Giriş Örnekleri, Textbox, L...