Son Haberler
Anasayfa / Yazılım / C# / Switch Case Örnekler

Switch Case Örnekler

Switch Case Örnekler yazımıza başlayalım. Programlamada karar yapıları kullanırken dallanma, koşullanma veya şart olarak nasıl isimlendirirseniz isimlendirin bunların çok olması durumunda Switch Case yapısını kullanmayı tercih ediyoruz. Bu yazımda yine örnekler üzerinden gideceğim. Teorik bilgi için Switch Case ile alakalı diğer yazıları sitemizde bulabilirsiniz.

Klavyeden 1 ve 7 dahil olmak üzere bu aralıkta girilen sayıya göre haftanın gününü yazan programı yazalım. Formunda bir adet buton ve bir textboxım olacak. Textboxa klavyeden sayı girilecek ve butona bastığımda, haftanın gününü message box ile yazacağım.

Öncelikle int tipinde bir değişken tanımlamam gerekiyor. Klavyeden girilen rakam değerini bu değişkene alacağım. Akabinde switch case yapısında bu değişkenin olası durumlarının 1,2,3,4,5,6,7 olmak üzere hepsini yazıyorum. Karşılığında hangi günü yazacak belirtiyorum. Kodlarım aşağıdaki gibi:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace KararYapilariOrnekler
{
    public partial class Form6 : Form
    {
        public Form6()
        {
            InitializeComponent();
        }

        private void btnGunuBul_Click(object sender, EventArgs e)
        {
            //Bir değişken tanımlıyorum. Bu eğişkeni alacağım textbox üzerinden veri dönüşümü yaptım.
            int Gun = Convert.ToInt32(txtRakam.Text);

            //Klavyeden girilecek tüm olası durumlar için swtich case yapısı kullanıyorum. KArışılığında ne yapılacağını yazıyorum.
            switch (Gun)
            {
                case 1:
                    MessageBox.Show("Pazartesi");
                    break;

                case 2:
                    MessageBox.Show("Salı");
                    break;

                case 3:
                    MessageBox.Show("Çarşamba");
                    break;

                case 4:
                    MessageBox.Show("Perşembe");
                    break;

                case 5:
                    MessageBox.Show("Cuma");
                    break;

                case 6:
                    MessageBox.Show("Cumartesi");
                    break;

                case 7:
                    MessageBox.Show("Pazar");
                    break;

                default:
                    MessageBox.Show("Lütfen 1-7 arasında bir değer giriniz.");
                    break;



            }
        }
    }
}

Bir başka örnek daha yapalım. Klavyeden girilen yazı değerine göre, rakam karşılığını veren program. 1’den 5’e kadar bir, iki, üç, dört, beş şeklinde yazılar girildiğinde bunun rakamsal karşılığını yazdıralım. Tabi burada klavyeden giriş esnasında mutlaka istediğimiz şekilde kayıtların girilmesi gerekiyor. Örneğin Bir girdiğinde sonuç 1 vermeyecek. Amacım bunun kapsamlı yazılması değil zaten. Amacımız switch case yapısını anlamak. Yine formuma 1 adet textbox, 1 adette buton ekliyorum. Buradaki kodlarım da aşağıdaki şekilde:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace KararYapilariOrnekler
{
    public partial class Form7 : Form
    {
        public Form7()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string rakam = textBox1.Text;
            
            switch (rakam)
            {
                case "bir":
                    MessageBox.Show("1");
                    break;

                case "iki":
                    MessageBox.Show("2");
                    break;

                case "üç":
                    MessageBox.Show("3");
                    break;

                case "dört":
                    MessageBox.Show("4");
                    break;

                case "beş":
                    MessageBox.Show("5");
                    break;

                default:
                    MessageBox.Show("Lütfen 'bir', 'iki', 'üç', 'dört' veya 'beş' şeklinde ifadeler giriniz");
                    break;


            }
        }
    }
}

Son bir örnekle daha yazımızı bitirelim. Bu örneğimde de kullanıcıdan klavyeden 4 işlem sembolünden birisinin girmesi istenecek. Kullanıcı + girerse toplama, – girerse çıkarma, * girerse çarpma, / girerse bölme işlemi yapılacak. Kullanıcıdan ayrıca iki sayı girmesi de istenecek. Butona bastığında girdiği sayılara ve sembole göre işlem yapacak. Çıkarma işleminde ilk girdiği sayıdan ikinci sayı çıkarılacak. Bölme işleminde de ilk girdiği sayı, ikinci sayıya bölünecek.

Bu yazımda da kullanıcı rakam mı girmiş kontrolünü yapmıyorum. Amacım switch case yapısını anlatmak. İsterseniz try catch bloğu ile kontrol edebilirsiniz. Formumun tasarımı aşağıdaki şekilde olacak;

switch case

Kodlarımı yazıyorum:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace KararYapilariOrnekler
{
    public partial class Form8 : Form
    {
        public Form8()
        {
            InitializeComponent();
        }

        private void btnHesapla_Click(object sender, EventArgs e)
        {
            //Double tipinde değişken tanımladım çünkü bölme işlemim sonucu ondalık çıkabilir.
            double sayi1, sayi2, sonuc;
            //Değişkenlerime verileri alıyorum ve dönüşüm işlemlerim.
            sayi1 = Convert.ToDouble(txtSayi1.Text);
            sayi2 = Convert.ToDouble(txtSayi2.Text);

            //sembolüm için char değişkeni tanımladım. 
            char islemSembolKarakter;
            //Koşullarıma göre yapılacak işlemlerim.
            islemSembolKarakter = Convert.ToChar(txtIslemSembol.Text);

            switch(islemSembolKarakter)
            {
                case '+':
                    sonuc = sayi1 + sayi2;
                    lblSonuc.Text = sonuc.ToString("0.00");
                    break;

                case '-':
                    sonuc = sayi1 - sayi2;
                    lblSonuc.Text = sonuc.ToString("0.00");
                    break;

                case '*':
                    sonuc = sayi1 * sayi2;
                    lblSonuc.Text = sonuc.ToString("0.00");
                    break;

                case '/':
                    sonuc = sayi1 / sayi2;
                    lblSonuc.Text = sonuc.ToString("0.00");
                    break;

                default:
                    MessageBox.Show("Lütfen + , - , * veya / gibi bir sembol giriniz!");
                    break;
            }
        }
    }
}

switch case

Değişkenlerim double türünde çünkü bölme işlemi yapacağım, dolayısı ile ondalık sayı çıkma ihtimali var. Ayrıca işlem için değişkenimi char tanımladım, çünkü textboxa bir karakter girilecek. Sonra 4 durumumu switch case yapısında belirttim. Default olarak da bu dört durumun haricinde sembol girilirse ne yapılacağına dair mesaj verdirdim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir