Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

C# Console Hesap Makinesi Yapımı

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
760
Mühendis Puanı
1,612
Bu Visual Studio programında switch case bildirimini kullanarak basit bir console hesap makinesi yapacağız. HesapMakinesi adında bir sınıf oluşturup kullanıcıdan sayı değerleri ve operatör değeri alarak hesaplanan sonucu ana programa gönderen işlevi yapıp, bu işlevi ana programda kullanacağız. Programdan çıkmak içinde yine Console.Key ifadelerinden ESC ifadesini kullanacağız.


İşte size aşağıdaki programda Sınıf kullanılmıştır.

C# Console Program Kodu:

C#:
    class HesapMakinesi
    {
        public static double islemYap(double sayi1, double sayi2, string op)
        {
            // operatör değerine göre case işlemlerinden biri gerçekleştirilir.
            switch (op)
            {
                case "+":   return sayi1 + sayi2;
                case "-":   return sayi1 - sayi2;
                case "*":   return sayi1 * sayi2;
                case "/":
                    // 2. sayı 0 değilse işlemi yapar.
                    if (sayi2 != 0)
                    {
                        return sayi1 / sayi2;
                    }
                    else
                    {
                        return double.NaN;
                    }  
                default: return double.NaN;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            bool cikis = false;
            Console.WriteLine("Hesap Makinası \r");
            Console.WriteLine("------------------------\n");
 
            while (!cikis)
            {
                // Değişkenleri tanımlıyoruz ve boş olarak atıyoruz.
                string sayi1 = "";
                string sayi2 = "";
                double sonuc = 0;
 
                // Kullanııcıdan birinci sayıyı girmesini istiyoruz
                Console.Write("Birinci Sayıyı Giriniz: ");
                sayi1 = Console.ReadLine();
 
                double dogruSayi1 = 0;
                while (!double.TryParse(sayi1, out dogruSayi1))
                {
                    Console.Write("Bu geçerli bir sayı değil. Lütfen bir tamsayı giriniz.: ");
                    sayi1 = Console.ReadLine();
                }
 
                // Kullanııcıdan ikinci sayıyı girmesini istiyoruz
                Console.Write("İkinci Sayıyı Giriniz: ");
                sayi2 = Console.ReadLine();
 
                double dogruSayi2 = 0;
                while (!double.TryParse(sayi2, out dogruSayi2))
                {
                    Console.Write("Bu geçerli bir sayı değil. Lütfen bir tamsayı giriniz. ");
                    sayi2 = Console.ReadLine();
                }
 
                // İşlem Seçim Bölümü
                Console.WriteLine("Lütfen Listeden bir işlem seçiniz:");
                Console.WriteLine("\t+ - Toplama");
                Console.WriteLine("\t- - Çıkarma");
                Console.WriteLine("\t* - Çarpma");
                Console.WriteLine("\t/ - Bölme");
                Console.Write("Seçiminiz? ");
 
                string op = Console.ReadLine();
 
                try
                {
                    sonuc = HesapMakinesi.islemYap(dogruSayi2, dogruSayi1, op);
                    if (double.IsNaN(sonuc))
                    {
                        Console.WriteLine("Bu işlem matematiksel bir hataya neden oldu.\n");
                    }
                    else Console.WriteLine("Sonucunuz: {0:0.##}\n", sonuc);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Sonucu hesaplarken bir istisna oluştu \n: " + e.Message);
                }
 
                Console.WriteLine("------------------------\n");
 
                // Kapatmadan önce kullanıcının yanıt vermesini bekleyin.
                Console.Write("Uygulamadan Çıkmak İçin ESC tuşuna basınız. ");
                if (Console.ReadKey().Key == ConsoleKey.Escape) cikis = true;
 
                Console.WriteLine("\n");
            }
            Console.WriteLine("Program Bitti Bir tuşa basınız\n");
            Console.ReadKey();
        }
    }


Çıktı:

1671025781262.png
 

Son kaynaklar