Skip to content

Rabianur1/CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. MS Paint Clone (WPF)

Bu proje, Windows Presentation Foundation kullanılarak geliştirilmiş, OOP prensiplerine dayalı temel bir çizim uygulamasıdır. Klasik MS Paint'in temel işlevlerini barındırır ve kod mimarisi olarak Strategy Design Pattern kullanılarak tasarlanmıştır.

  • Mimari Desen: IDrawStrategy arayüzü ile Strategy Design Pattern uygulanmıştır. Bu sayede yeni çizim araçları (üçgen, yıldız vb.) koda dokunmadan kolayca eklenebilir.
  • Undo/Redo Mekanizması: Yapılan her işlem Stack<List> yapısında tutularak sınırsız geri ve ileri alma imkanı sunar.
  • Görüntü İşleme: RenderTargetBitmap kullanılarak çizimler yüksek çözünürlüklü .bmp formatında kaydedilebilir.
  • Araçlar: Kalem, Dikdörtgen, Elips, Metin Ekleme ve Dinamik Silgi.

2. Personel Yönetim Sistemi

Kurumsal bir yapı simülasyonu olan bu projede OOP'nin 4 temel prensibi (Encapsulation, Abstraction, Inheritance, Polymorphism) uygulanmıştır.

  • Soyutlama: Employee abstract class'ı üzerinden Manager, Developer ve Intern sınıfları türetilmiştir.
  • Arayüzler: IReportable ve ITrainable arayüzleri ile rollerin yetenekleri ayrıştırılmıştır.
  • Veri Doğrulama: Property set blokları içerisinde yaş ve isim kontrolü yapılarak ArgumentException fırlatılmaktadır.

3. Adam Asmaca (Hangman)

Gelişmiş hata yönetimi ve performans odaklı bir kelime oyunudur.

  • Veri Yapıları: Tahmin edilen harfler HashSet içerisinde tutularak O(1) zaman karmaşıklığında kontrol sağlanır.
  • Sorumlulukların Ayrılması: KelimeYoneticisi, OyunDurumu ve GirisKontrolcusu gibi sınıflarla clean code prensipleri uygulanmıştır.

4. Pancake Sorting Algoritması

Bu algoritma, Doubly Linked List mantığıyla implement edilmiştir.

  • Algoritma Mantığı: Yığındaki en büyük elemanı bulup Flip operasyonuyla en üste, ardından ait olduğu en alta taşıma prensibiyle çalışır.
  • Düğüm Yapısı: PancakeNode sınıfı ile bellekte manuel düğüm yönetimi yapılmıştır.

5. Yemek Tarifi Uygulaması (Recipe)

Veri yönetimi ve koleksiyon kullanımına odaklanmıştır.

  • Koleksiyonlar: Dinamik malzemeler için List, sabit kategoriler için string[] kullanılarak farklı veri saklama yöntemleri sergilenmiştir.

6. Basit Hesap Makinesi

Kullanıcı etkileşimi ve giriş doğrulama üzerine kuruludur.

  • Güvenlik: double.TryParse ile hatalı girişlerin programı çökertmesi engellenmiş, "Sıfıra Bölme Hatası" mantıksal olarak yakalanmıştır.

Kurulum ve Kullanım

  1. Projeyi yerel makinenize klonlayın:
    git clone https://github.com/Rabianur1/CSharp.git
  2. CSharp.sln dosyasını Visual Studio ile açın.
  3. Sağ taraftaki Çözüm Gezgini (Solution Explorer) üzerinden çalıştırmak istediğiniz projenin üzerine sağ tıklayın.
  4. "Başlangıç Projesi Olarak Ayarla" seçeneğini işaretleyin.
  5. F5 tuşuna basarak uygulamayı başlatın.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages