İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Girilen Sayıyı Roma Rakamına Çevirmek

C# Girilen Sayıyı Roma Rakamına Çevirmek
+ - 0

C# Girilen Sayıyı Roma Rakamına Çevirmek, dersim ile C# eğitim setime devam ediyorum. Bu ders ne işimize yaracak? Belki hiçbir işimize yaramayacak. Ama bir sitede gördüm bu dersi çok hoşuma gitti. Bir şeyler içerisinde kullanmak isteyebiliriz belki düşüncesi ile bu dersi yazmak istedim. Çok gerekli bir işlem olmasa da hoş bir ders olduğu aşikar. :D

C# Girilen Sayıyı Roma Rakamına Çevirmek

Bu ders hakkında verebileceğim bir senaryo yok ama aklımda bir kaç fikir yok değil.

Örneğin, bir lisanslama işleminde bu roma rakamlarını kullanabiliriz. Mesela bugünün tarihinin rakamlarının roma rakamlarına bir bakalım. 5 = V, 1 = I, 2019 = MMXIX bunları yan yana koysak V-I-MMXIX bu harfleri yapacağımız lisanslama içerisinde koyabiliriz. Tekrar okumada sorun yaşamamak için de 0 yerine O harfi kullanırız, OVOIMMXIX  gibi görünür. Kolay kolay da bu roma rakamlarına çevilmiş bir tarih bilgisi olduğunu anlamayacaktır.

Yani bu gibi farklı fikirlerle kullanmak istenebilir. O yüzden bu dersi eğitim setime ekleme gereği duydum. Şimdi kodları sizlerle paylaşayım.

        private void btn_cevir_Click(object sender, EventArgs e)
        {
            txt_cevir.Clear();

            int sayi = Int32.Parse(txt_sayi_gir.Text);
            int birler = 0, onlar = 0, yuzler = 0, binler = 0;
            if (sayi < 10)
                birler = sayi;

            if (sayi > 9 && sayi < 100)
            {
                onlar = sayi / 10;
                birler = sayi - (onlar * 10);
            }

            if (sayi > 99 && sayi < 1000)
            {
                yuzler = sayi / 100;
                onlar = (sayi - (yuzler * 100)) / 10;
                birler = sayi - ((yuzler * 100) + (onlar * 10));
            }

            if (sayi > 999 && sayi < 10000)
            {
                binler = sayi / 1000;
                yuzler = (sayi - (binler * 1000)) / 100;
                onlar = (sayi - ((binler * 1000) + (yuzler * 100))) / 10;
                birler = sayi % 10;
            }

            string[] dbirler = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
            string[] donlar = { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
            string[] dyuzler = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
            string[] dbinler = { "", "M", "MM", "MMM" };

            txt_cevir.Text += dbinler[binler] + " ";
            txt_cevir.Text += dyuzler[yuzler] + " ";
            txt_cevir.Text += donlar[onlar];
            txt_cevir.Text += " " + dbirler[birler];
            txt_cevir.Text = txt_cevir.Text.Replace(" ", "");
        }

Roma rakamlarına çevirme kodlarımız da bu kadar arkadaşlar. En fazla 10000 ‘e kadar yazmışlar. Dediğim gibi bu kodları ben yazmadım. Test ettim çalışıyor o yüzden eğitim setime eklemek istedim.


C# Girilen Sayıyı Roma Rakamına Çevirmek, dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Bu dersimde o projenin içerisinde bir klasör olarak yerini almıştır. Buraya tıklayarak Github projeme ulaşabilirsiniz.

Sağlıcakla ve takipte kalın. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)