Skip to content

AhmetCebeci/WeddingManagementSystem

Repository files navigation

💍 Wedding Management System (Düğün Yönetim Sistemi)

Sakarya Üniversitesi - Bilgisayar Mühendisliği Bölümü > Programlamaya Giriş Dersi - Proje Ödevi (Ödev No: 3)

Bu proje, düğün organizasyon süreçlerini dijitalleştirmek, davetli takibi yapmak ve anlık maliyet analizi sağlamak amacıyla C++ dili kullanılarak geliştirilmiş kapsamlı bir konsol uygulamasıdır.

Nesne Yönelimli Programlama (OOP) prensiplerine sadık kalınarak tasarlanan sistem, veri kalıcılığı için dosya tabanlı (File I/O) bir veritabanı mimarisi kullanır.


👨‍🏫 Proje Bilgileri

  • Dersi Verenler: Öğr. Gör. Cemil ÖZ ve Arş. Gör. Sinan İLYAS
  • Hazırlayan: Ahmet CEBECİ (B231210077)
  • Grup: 1. Öğretim C Grubu

🚀 Temel Özellikler

Bu sistem, organizasyon yönetimini kolaylaştıran aşağıdaki yeteneklere sahiptir:

  • 📅 Düğün Yönetimi: Yeni düğün kaydı, listeleme, güncelleme ve silme işlemleri.
  • 👥 Davetli Takibi: Seçilen düğüne özel davetli ekleme, silme ve "Geliyor/Gelmiyor" durumunu güncelleme.
  • 💰 Dinamik Maliyet Hesaplama: * Formül: ((Gelen Misafir + 4 Protokol) * Yemek Ücreti) + Süsleme + Sanatçı
    • +4 Protokol Kuralı: Sistem, maliyet hesabına Gelin, Damat ve Ebeveynleri otomatik dahil eder.
  • 🔄 Zincirleme Silme (Cascade Delete): Veri bütünlüğü (Data Integrity) ilkesi gereği, bir düğün silindiğinde ona bağlı tüm davetliler de sistemden otomatik temizlenir.
  • 🛡️ Veri Doğrulama (Input Validation):
    • Tarih Kontrolü: Geçmiş tarih veya hatalı saat girişleri engellenir.
    • Tip Güvenliği: Sayısal alanlara metin girilmesi durumunda programın çökmesi (cin.fail) engellenmiştir.
  • 📊 Gelişmiş Arayüz: system("mode con") komutu ile genişletilmiş konsol ekranında, veriler Master-Detail tablo yapısında sunulur.

🛠️ Sistem Mimarisi ve Dosya Yapısı

Proje iki ana sınıf ve ilişkisel dosya yapısı üzerine kurulmuştur:

Sınıflar (Classes)

  1. Dugun Sınıfı: Organizasyon bilgilerini (Tarih, Saat, Salon) ve finansal verileri (Patron, Yemek, Süsleme, Sanatçı) tutar.
  2. Davetli Sınıfı: Misafirlerin kimlik ve katılım durumlarını yönetir.

Dosya Yapısı (File I/O)

Veriler fstream kütüphanesi ile metin dosyalarında saklanır:

  • 📄 Dugunler.txt: Düğün ID, Tarih, Saat, İsimler ve Maliyet bilgilerini tutar.
  • 📄 Davetliler.txt: Davetli ID, Bağlı Olduğu Düğün ID, İsim, Taraf ve Durum bilgilerini tutar.

Teknik Not: Silme ve güncelleme işlemleri için "Geçici Dosya (Temp File)" algoritması kullanılmıştır. Veriler Temp.txt dosyasına filtrelenerek aktarılır ve ana dosya ile değiştirilir.


📷 Ekran Görüntüleri

1. Ana Menü ve Detaylı Düğün Listesi

Sistemdeki düğünler "Genel Bilgiler" ve "Finansal Detaylar" olarak iki ayrı tabloda listelenir. Ana Menü Görünümü (Düğünlerin tarih, salon, kişi sayıları ve toplam maliyet analizlerinin görüntülendiği ekran)

2. Davetli Yönetim Paneli ve Listesi

Seçilen düğüne ait davetlilerin yönetildiği ve listelendiği alt menü. Davetli Listesi (Misafirlerin katılım durumlarının ve akrabalık derecelerinin görüntülendiği ekran)


⚙️ Kurulum ve Çalıştırma

Projeyi kendi bilgisayarınızda çalıştırmak için:

  1. Projeyi Klonlayın:
    git clone [https://github.com/AhmetCebeci/Wedding-Management-System.git](https://github.com/AhmetCebeci/Wedding-Management-System.git)
  2. Derleyin (G++ Örneği):
    g++ main.cpp -o WeddingSystem.exe
  3. Çalıştırın: Oluşan .exe dosyasını çalıştırın. Program ilk açılışta gerekli .txt dosyalarını otomatik oluşturacaktır.

👨‍💻 Geliştirici

Ahmet CEBECİ Sakarya Üniversitesi, Bilgisayar Mühendisliği
📧 İletişim: cebeciahmet10@hotmail.com


Bu proje, eğitim amaçlı geliştirilmiştir.

About

Wedding Management System using C++ (OOP & File Handling). A comprehensive console application for managing weddings, guest lists, and dynamic cost calculations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages