17 Nisan 2013 Çarşamba

C Sharp Uygulamalar Roma Rakamları Çevirici Programı Normal Sayıları Roma Rakamlarına Çevirme



KONU : C Sharp Uygulamalar - C Sharp ( C# ) Form uygulamalar, roma rakamları ve anlamları, roma rakamları çevirici programı.Roma rakamlarını normal sayıya çevirme programı. Normal sayıları roma rakamlarına çevirme programı.





UYGULAMAYI İNDİR



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

namespace C_Sharp_Roma_Rakamlarını_Normal_Sayıya_Donusturme
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnNormalSayiyaCevir_Click(object sender, EventArgs e)
        {
            {
                Hashtable liste = new Hashtable();

                liste.Add("I", "1");

                liste.Add("II", "2");

                liste.Add("III", "3");

                liste.Add("IV", "4");

                liste.Add("V", "5");

                liste.Add("VI", "6");

                liste.Add("VII", "7");

                liste.Add("VIII", "8");

                liste.Add("IX", "9");

                liste.Add("X", "10");

                liste.Add("XX", "20");

                liste.Add("XXX", "30");

                liste.Add("XL", "40");

                liste.Add("L", "50");

                liste.Add("LX", "60");

                liste.Add("LXX", "70");

                liste.Add("LXXX", "80");

                liste.Add("XC", "90");

                liste.Add("C", "100");

                liste.Add("CC", "200");

                liste.Add("CCC", "300");

                liste.Add("CD", "400");

                liste.Add("D", "500");

                liste.Add("DC", "600");

                liste.Add("DCC", "700");

                liste.Add("DCCC", "800");

                liste.Add("CM", "900");

                liste.Add("M", "1000");

                string bol = txtRomaRakami.Text.ToUpper();

                int sayi = 0;

                for (int i = 0; i < bol.Length; i++)
                {
                    if (bol.Length - i >= 2)
                    {
                        string data = bol[i].ToString() + bol[i + 1].ToString();

                        if (data == "IX" || data == "XL" || data == "CD" || data == "CM" || data == "XC")
                        {
                            sayi = int.Parse(liste[data].ToString()) + sayi;

                            i++;
                        }
                        else
                        {
                            sayi = int.Parse(liste[bol[i].ToString()].ToString()) + sayi;
                        }
                    }
                    else
                    {
                        sayi = int.Parse(liste[bol[i].ToString()].ToString()) + sayi;
                    }
                }

                lblNormalSayiDegeri.Text =  Convert.ToString(sayi);
            }
        }

        private void btnRomaRakaminaCevir_Click(object sender, System.EventArgs e)
        {
            int yuzler = 0, onlar = 0, birler = 0, girilen;

            string sonuc = "";

            girilen = Convert.ToInt32(txtNormalSayi.Text);

            if (girilen <= 0 || girilen >= 1000)
            {
                MessageBox.Show("Lütfen 0 ile 1000 arasında bir sayı giriniz", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            if (girilen > 99)
            {
                yuzler = girilen / 100;

                if (girilen - (yuzler * 100) == 0)
                {
                    goto ifSonu;
                }

                onlar = (girilen - (yuzler * 100)) / 10;

                birler = girilen - ((yuzler * 100) + (onlar * 10));
            }
            else if (girilen > 9)
            {
                onlar = girilen / 10;

                birler = girilen - (onlar * 10);
            }
            else
            {
                birler = girilen;
            }


ifSonu:

            if (yuzler > 0)
            {
                switch (yuzler)
                {
                    case 1:
                        sonuc = "C";
                        break;

                    case 2:
                        sonuc = "CC";
                        break;

                    case 3:
                        sonuc = "CCC";
                        break;

                    case 4:
                        sonuc = "CD";
                        break;

                    case 5:
                        sonuc = "D";
                        break;

                    case 6:
                        sonuc = "DC";
                        break;

                    case 7:
                        sonuc = "DCC";
                        break;

                    case 8:
                        sonuc = "DCC";
                        break;

                    case 9:
                        sonuc = "CM";
                        break;
                }
            }
            if (onlar > 0)
            {
                switch (onlar)
                {
                    case 1:
                        sonuc = sonuc + "X";
                        break;

                    case 2:
                        sonuc = sonuc + "XX";
                        break;

                    case 3:
                        sonuc = sonuc + "XXX";
                        break;

                    case 4:
                        sonuc = sonuc + "XL";
                        break;

                    case 5:
                        sonuc = sonuc + "L";
                        break;

                    case 6:
                        sonuc = sonuc + "LX";
                        break;

                    case 7:
                        sonuc = sonuc + "LXX";
                        break;

                    case 8:
                        sonuc = sonuc + "LXXX";
                        break;

                    case 9:
                        sonuc = sonuc + "XC";
                        break;
                }
            }

            if (birler > 0)
            {
                switch (birler)
                {
                    case 1:
                        sonuc = sonuc + "I";
                        break;

                    case 2:
                        sonuc = sonuc + "II";
                        break;

                    case 3:
                        sonuc = sonuc + "III";
                        break;

                    case 4:
                        sonuc = sonuc + "IV";
                        break;

                    case 5:
                        sonuc = sonuc + "V";
                        break;

                    case 6:
                        sonuc = sonuc + "VI";
                        break;

                    case 7:
                        sonuc = sonuc + "VII";
                        break;

                    case 8:
                        sonuc = sonuc + "VIII";
                        break;

                    case 9:
                        sonuc = sonuc + "IX";
                        break;
                }
            }

            lblRomaRakamiDegeri.Text =  Convert.ToString(sonuc);

        }
    }
}

UYGULAMAYI İNDİR

1 yorum :

  1. abi benim ödev olarak bunu seçtim ama bu kodları neden kullandığını niye böyle bir şey yaptığını anlatmam gerekiyor. siz neden böyle bir şey yaptığınızı yani ayrıntılı bir şekilde anlatabilir misiniz? en kısa zaman içinde yapmam gerekiyor.

    YanıtlaSil