C#: Mini ATM Uygulaması Kodlayalım

Yönetici
Herkese merhaba! Bugün, C# kullanarak basit bir mini ATM uygulaması kodlayacağız. ATM'lerin günlük yaşamımızdaki önemini hepimiz biliyoruz; ancak bu uygulama, hem eğlenceli hem de öğretici bir projeye dönüşebilir. Hadi gelin, adım adım bu projeye başlamadan önce gerekli bilgilere göz atalım!

Giriş


ATM (Automated Teller Machine - Otomatik Bankamatik), günümüzde bankacılık işlemlerini kolaylaştıran entegre sistemlerdir. Bir ATM kullanıcısı olarak, para çekmek, bakiye sorgulamak veya para yatırmak gibi işlemleri hızlıca gerçekleştirebiliriz. Bu projede, temel ATM özelliklerini uygulamak için C# kullanacağız.

Proje Gereksinimleri

Gerekli Araçlar


Bu projeyi gerçekleştirmek için şu araçlara ihtiyacımız var:

  • C# geliştirme ortamı (örn. Visual Studio veya Visual Studio Code)
  • Basic knowledge of C# programming
Kurulum Adımları

İlk olarak, geliştirme ortamınızı kurmalısınız. Visual Studio'yu indirip, yükleyin ve yeni bir C# projesi oluşturun. Projeyi oluştururken "Console Application" seçeneğini tercih edin, çünkü bu uygulama bir konsol uygulaması olacak.

ATM Uygulamasının Temel Özellikleri

ATM'mizin temel işlevsel özellikleri şunlardır:

  • Kullanıcı girişi
  • Bakiye sorgulama
  • Para çekme
  • Para yatırma
Kullanıcı Girişi

Uygulama, kullanıcıdan bir PIN kodu isteyecek. Eğer kullanıcı doğru PIN'i girerse, ATM'ye erişim izni verilecek.

Bakiye Sorgulama

Kullanıcı, mevcut bakiyesini görüntüleyebilir. Bu, kullanıcıların hesap durumunu kontrol etmeleri açısından önemlidir.

Para Çekme

ATM, kullanıcının istediği miktarı çekebilmesine ve bunun bakiyesini güncelleyebilmesine olanak tanıyacak.

Para Yatırma

Kullanıcı, hesabına para yatırabilir. Bu işlem, bakiyeyi artırmak için kullanılacaktır.

Uygulamanın Kod Yapısı

Ana Sınıf (Main Class)


Uygulamanın ana sınıfında tüm işlemler gerçekleştirilir. Yapılan işlemleri kullanıcıyla etkileşimli bir şekilde yöneteceğiz.

Program Akış Diyagramı

Geliştireceğimiz programda kullanıcıdan giriş istemek, seçenekler sunmak ve girişlere göre işlemler yapmak için bir akış diyagramı hazırlayabiliriz. Detaylandırarak ilerleyeceğiz.

Kullanıcı Sınıfı (User Class)

ATM işlemine dair her şeyi yöneten bir kullanıcı sınıfı oluşturmalıyız. Bu sınıfta kullanıcı bilgilerini tutacak ve işlemleri gerçekleştireceğiz.

Bakiye Yönetimi

Kullanıcının bakiyesi burada saklanacak ve güncellenecek.

Kodlama Aşamaları

Başlayalım! Şimdi uygulamanın bireysel kodlama aşamalarını inceleyeceğiz.

Gerekli Kütüphaneler

Öncelikle uygulamanızda kullanmanız gereken kütüphaneleri tanımlayın. Genellikle C# kütüphanelerine ihtiyacımız olur. Bunun yanında System kütüphanesini kullanacağız.

Temel Fonksiyonlar

Giriş Fonksiyonu


Kullanıcının ATM'ye giriş yapmasını sağlayacak fonksiyonu yazalım:
C#:
1static void Main(string[] args) {
2    User user = new User("1234", 1000); // PIN: 1234, Bakiye: 1000
3    Console.WriteLine("ATM'ye Hoş Geldiniz!");
4  
5    string pin;
6    Console.Write("PIN kodunuzu girin: ");
7    pin = Console.ReadLine();
8
9    if (user.ValidatePin(pin)) {
10        Console.WriteLine("Giriş Başarılı!");
11        ShowMenu(user);
12    } else {
13        Console.WriteLine("Yanlış PIN kodu!");
14    }
15}
Para Çekme ve Yatırma Fonksiyonları

Şimdi, para çekme ve yatırma işlemleri için yöntemler ekleyelim:

C#:
1public void Withdraw(decimal amount) {
2    if (amount > balance) {
3        Console.WriteLine("Yetersiz bakiye!");
4    } else {
5        balance -= amount;
6        Console.WriteLine($"Başarıyla {amount} TL çekildi. Yeni bakiye: {balance} TL");
7    }
8}
9
10public void Deposit(decimal amount) {
11    balance += amount;
12    Console.WriteLine($"Başarıyla {amount} TL yatırıldı. Yeni bakiye: {balance} TL");
13}

Test ve Hata Ayıklama

Fonksiyonel Testler


Uygulamayı tamamladıktan sonra, her bir fonksiyonu ayrı ayrı test etmek önemlidir. Bunu gerçekleştirmek için test senaryoları hazırlayın.

Beklenmeyen Hatalar

Projeniz boyunca karşınıza çıkabilecek hataları önceden tahmin ederek bunları nasıl düzeltebileceğinizi belirleyin. Örneğin, kullanıcı yanlış bir miktar girdiğinde neler olacağını düşünün.

Sonuç

C# ile mini ATM uygulaması kodlamak oldukça öğretici bir deneyim. Bu süreçte kullanıcı doğrulama, bakiye yönetimi, para çekme ve yatırma gibi işlemleri öğrendik. Hayal gücünüzü kullanarak bu projeyi daha da geliştirebilir, farklı özellikler ekleyerek zenginleştirebilirsiniz. Kendi projelerinizi oluşturmak için bu bilgilere başvurabilirsiniz!

SSS (Sıkça Sorulan Sorular)

  1. Bu ATM uygulaması hangi durumlarda kullanılabilir?
    • Basit bankacılık işlemleri için eğitim amaçlı, öğrencilere temel programlamayı öğretmek için kullanılabilir.
  2. Kullanıcı bilgileri nasıl saklanır?
    • Kullanıcı bilgileri, uygulamanın bellek alanında değişkenler veya sınıflar aracılığıyla saklanır.
  3. Yeni özellikler nasıl eklenir?
    • Mevcut kod yapısına yeni fonksiyonlar ekleyerek veya mevcutları geliştirerek yeni özellikler ekleyebilirsiniz.
  4. Hatalarla nasıl başa çıkabilirim?
    • Kodunuzu adım adım test ederek ve hata ayıklama araçları kullanarak hataları bulup düzeltebilirsiniz.
  5. C# ile başka neler yapabilirim?
    • C# ile masaüstü uygulamaları, web uygulamaları ve oyunlar gibi birçok projeler geliştirebilirsiniz.
 
Üst