C# Dersleri 46 - ATM Projesi

C# Dersleri 46 - ATM Projesi


C# ile ATM Uygulaması

C# dilinde ATM uygulaması yapmak için kullanıcı adı ve şifre doğrulaması yaparak, kullanıcının para yatırma, para çekme ve bakiye sorgulama gibi işlemleri gerçekleştirebileceği bir sistem oluşturulmuştur.

İstenilen Özellikler:

  1. Kullanıcı Girişi:

    • Program, kullanıcıdan kullanıcı adı ve şifre bilgilerini alacak.
    • Kullanıcı adı: kodlamaVakti
    • Şifre: test123
    • Eğer doğru kullanıcı adı ve şifre girilmişse, ATM menüsüne geçilecek.
  2. ATM Menüsü:

    • Başarılı girişten sonra kullanıcıya aşağıdaki seçenekleri sunacak bir menü olacak:
      1. Para Yatırma: Kullanıcı para miktarını girer ve bakiyeye eklenir.
      2. Para Çekme: Kullanıcı çekmek istediği para miktarını girer. Eğer bakiyede yeterli para yoksa, "Bakiye Yetersiz" uyarısı gösterilecek.
      3. Bakiye Sorgulama: Kullanıcı mevcut bakiyesini görebilecek.
      4. Çıkış Yap: ATM'yi kapatıp programdan çıkacak.
  3. Hatalı Giriş:

    • Kullanıcı 3 defa hatalı giriş yaparsa, hesap bloke olacak ve kullanıcıya bu durum bildirilecek.
  4. İşlem Akışı:

    • Kullanıcı doğru giriş yaptıktan sonra işlem seçeneğini seçer ve işlemini gerçekleştirebilir.
    • Her işlemden sonra menü tekrar gösterilecek ve kullanıcı işlem yapmaya devam edebilir.
    • Kullanıcı çıkış yapana kadar sistem aktif kalacak.

Pratikte Kullanılacak Özellikler:

  • Döngüler: while, do-while döngüleri, kullanıcı adı ve şifre doğrulama ile menüdeki seçim işlemleri için kullanılacak.
  • Koşullar: if-else yapıları, kullanıcı girişi, işlem kontrolü, bakiye kontrolü ve hatalı girişlerin yönetilmesi için kullanılacak.

Pratik Kodu:

using System;

class Program
{
    static void Main()
    {
        string userName, password;
        int right = 3; // Hatalı giriş hakkı
        int balance = 1500; // Başlangıç bakiyesi
        int select;

        while (right > 0)
        {
            // Kullanıcıdan giriş bilgilerini al
            Console.Write("Kullanıcı Adınız: ");
            userName = Console.ReadLine();
            Console.Write("Parolanız: ");
            password = Console.ReadLine();

            // Kullanıcı adı ve şifre doğrulaması
            if (userName == "kodlamaVakti" && password == "test123")
            {
                Console.WriteLine("Merhaba, Gringotts Bankasına Hoşgeldiniz!");
                do
                {
                    // İşlem menüsünü göster
                    Console.WriteLine("1-Para Yatırma");
                    Console.WriteLine("2-Para Çekme");
                    Console.WriteLine("3-Bakiye Sorgula");
                    Console.WriteLine("4-Çıkış Yap");
                    Console.Write("Lütfen yapmak istediğiniz işlemi seçiniz: ");
                    select = int.Parse(Console.ReadLine());

                    // Yapılacak işlemi kontrol et
                    if (select == 1)
                    {
                        Console.Write("Para miktarı: ");
                        int price = int.Parse(Console.ReadLine());
                        balance += price;
                        Console.WriteLine($"{price} TL para yatırıldı.");
                    }
                    else if (select == 2)
                    {
                        Console.Write("Para miktarı: ");
                        int price = int.Parse(Console.ReadLine());
                        if (price > balance)
                        {
                            Console.WriteLine("Bakiye yetersiz.");
                        }
                        else
                        {
                            balance -= price;
                            Console.WriteLine($"{price} TL para çekildi.");
                        }
                    }
                    else if (select == 3)
                    {
                        Console.WriteLine("Bakiyeniz: " + balance + " TL");
                    }
                } while (select != 4);

                Console.WriteLine("Tekrar görüşmek üzere.");
                break;
            }
            else
            {
                right--;
                Console.WriteLine("Hatalı kullanıcı adı veya şifre. Tekrar deneyiniz.");
                if (right == 0)
                {
                    Console.WriteLine("Hesabınız bloke olmuştur, lütfen banka ile iletişime geçiniz.");
                }
                else
                {
                    Console.WriteLine("Kalan Hakkınız: " + right);
                }
            }
        }
    }
}

Örnek Çıktılar:

Senaryo 1:

Kullanıcı Adınız: kodlamaVakti
Parolanız: test123
Merhaba, Gringotts Bankasına Hoşgeldiniz!
1-Para Yatırma
2-Para Çekme
3-Bakiye Sorgula
4-Çıkış Yap
Lütfen yapmak istediğiniz işlemi seçiniz: 1
Para miktarı: 500
500 TL para yatırıldı.
1-Para Yatırma
2-Para Çekme
3-Bakiye Sorgula
4-Çıkış Yap
Lütfen yapmak istediğiniz işlemi seçiniz: 3
Bakiyeniz: 2000 TL
1-Para Yatırma
2-Para Çekme
3-Bakiye Sorgula
4-Çıkış Yap
Lütfen yapmak istediğiniz işlemi seçiniz: 4
Tekrar görüşmek üzere.

Senaryo 2 (Hatalı giriş):

Kullanıcı Adınız: yanlis
Parolanız: hatali
Hatalı kullanıcı adı veya şifre. Tekrar deneyiniz.
Kalan Hakkınız: 2
Kullanıcı Adınız: kodlamaVakti
Parolanız: yanlis
Hatalı kullanıcı adı veya şifre. Tekrar deneyiniz.
Kalan Hakkınız: 1
Kullanıcı Adınız: kodlamaVakti
Parolanız: test123
Merhaba, Gringotts Bankasına Hoşgeldiniz!
1-Para Yatırma
2-Para Çekme
3-Bakiye Sorgula
4-Çıkış Yap
Lütfen yapmak istediğiniz işlemi seçiniz: 4
Tekrar görüşmek üzere.

Bu ATM uygulamasında, kullanıcı adı ve şifre doğrulaması yapılır. Başarılı giriş yapan kullanıcı, para yatırma, para çekme ve bakiye sorgulama işlemleri yapabilir. Hatalı giriş durumunda kullanıcıya belirli bir hak verilir ve hakları tükenirse hesabı bloke edilir.

Bu içeriği beğendiyseniz paylaşarak destek olabilirsiniz!


Eğitim İçeriği

Eğitim C# Dersleri
Kategori Programlama Dili
Ders Adeti 56 Ders
Dil Türkçe
Güncelleme 04/2024
  • HTML Dersleri

    HTML Dersleri Sıfırdan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 19 Ders
    Dil Türkçe
    Güncelleme 12/2020
    Derse Başla
  • Java Dersleri

    Java Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 125 Ders
    Dil Türkçe
    Güncelleme 09/2020
    Derse Başla
  • CSS Dersleri

    CSS Dersleri Başlangıçtan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 49 Ders
    Dil Türkçe
    Güncelleme 10/2021
    Derse Başla
  • Java Örnek Projeler

    Java Örnek Projeler

    Kategori Programlama Dili
    Ders Süresi 20 Ders
    Dil Türkçe
    Güncelleme 10/2022
    Derse Başla
  • C# Dersleri

    C# Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 100 Ders
    Dil Türkçe
    Güncelleme 04/2024
    Derse Başla