1. Anasayfa
  2. Programlama Temelleri

C# Dersleri – Beş(5) Basamaklı Sayının Okunuşu, Yazıya Çevirme

C# Dersleri – Beş(5) Basamaklı Sayının Okunuşu, Yazıya Çevirme
18

C# ile beş basamaklı bir sayının okunuşu, beş basamaklı bir sayıyı yazıya çevirme işlemi için, ilk olarak aşağıdaki form tasarımını hazırlıyoruz, daha sonra sayıları yazıya çevirebilmek için iki fonksiyon tanımlayacağız hazırladığımız sayı okuma programı 0 ile 100000 arasındaki tüm sayıları yazıya çevirecek. Program içinde tanımladığımız fonksiyonların kullanımı “yaziyacevir(sayi, out sonuc);” şeklinde burada sayi çevrilecek değişken, sonuç ise sayının yazıya çevrilmiş hali, örnek kullanım
yaziyacevir(23455, out sonuc); gibi
sayioku

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

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        static bool sayiyioku(int sayi, out string gecici)
        {
            string[] strbir = {
            "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz",
            "Dokuz", "On", "Onbir", "Oniki", "Onüç", "Ondört",
            "Onbeş", "Onaltı", "Onyedi", "Onsekiz", "Ondokuz",
          };

            string[] stron = {
              "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış",
              "Yetmiş", "Seksen", "Doksan", "Yüz"
          };
            //www.bilisimogretmeni.com
            string sonuc = "";
            gecici = "";
            int birler, onlar, yuzler;

            if (sayi > 1000)
                return false;

            yuzler = sayi / 100;
            sayi = sayi - yuzler * 100;
            if (sayi < 20)
            {
                onlar = 0; 
                birler = sayi;
            }
            else
            {
                onlar = sayi / 10;
                sayi = sayi - onlar * 10;
                birler = sayi;
            }

            sonuc = "";
            //www.bilisimogretmeni.com
            if (yuzler > 0)
            {
                sonuc += strbir[yuzler - 1];
                sonuc += " Yüz ";
            }
            if (onlar > 0)
            {
                sonuc += stron[onlar - 1];
                sonuc += " ";
            }
            if (birler > 0)
            {
                sonuc += strbir[birler - 1];
                sonuc += " ";
            }
            //www.bilisimogretmeni.com
            gecici = sonuc;
            return true;
        }

        static bool yaziyacevir(int sayi, out string sonuc)
        {
            string gecicisonuc = "";
            int binler;
            int temp;
            sonuc = "";
            if (sayi < 0 || sayi > 99999)
            {
                System.Console.WriteLine(sayi + " tDesteklenmeyen Aralık");
                return false;
            }

            if (sayi == 0)
            {
                System.Console.WriteLine(sayi + " tSıfır");
                return false;
            }
            //www.bilisimogretmeni.com
            if (sayi < 1000)
            {
                sayiyioku(sayi, out gecicisonuc);
                sonuc += gecicisonuc;
            }//www.bilisimogretmeni.com
            else
            {
                binler = sayi / 1000;
                temp = sayi - binler * 1000;
                sayiyioku(binler, out gecicisonuc);
                sonuc += gecicisonuc;
                sonuc += "Bin ";
                sayiyioku(temp, out gecicisonuc);
                sonuc += gecicisonuc;
            }
            return true;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            label2.Text = "";
            int sayi;
sayi = Convert.ToInt32(textBox1.Text);

            string sonuc;
            yaziyacevir(sayi, out sonuc);
            label2.Text = sonuc;
        }
    }
}
Bu İçeriğe Tepkin Ne Oldu?
  • 2
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 0
    te_ekk_rler
    Teşekkürler
  • 1
    anlamad_m
    Anlamadım
  • 3
    yetersiz
    Yetersiz
İlginizi Çekebilir
Subscribe
Bildir
guest

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

18 Yorum
Inline Feedbacks
View all comments
Ezgieylül Taşın

benim hocam 1 den 23 basamaklı tüm sayıların okunuşunu yazan program ödevi c# ile olacak lütfen yardım edin yoksa kalıcam yapamayanı brakacakmış öyle dedi en azından 10 basamaklıya kadar yardım edin lütfen
16 yaşındayım lisede öğrenim görüyorum bu yıl yeni bsaşladım basit kodlarla olması gerekiyor switch-case gibi

Dajj Mark

çok teşekkürler hocam ben bilge adamın kurslarına başlıycam siz ne dersiniz biliyormusunuz sormakta fayda var :)

Dajj Mark

sizce pascaldan sonra hangi dili öğrenmeye başlayabilirim hocam ve nerden öğreneyim

BilisimOgretmeni

pascal bu işin temeli olarak programlama mantığını anlamak için iyi bir başlangıç bundan sonra c# veya java’ya başlayabilirsin

Dajj Mark

çok saolun bu paylaştıklarınızdan çalışıyorum zaten :))) bugün bilge adamın sınavına girdim çok güzel geçti 497 almışım hocam 500 üzerinden :D son soruyu reddetmişler pascal sorusuydu

BilisimOgretmeni

tebrikler çalışmaya devam… :)

Dajj Mark

microsoft ürünleri hariç hangi programla yapabilirim ?

BilisimOgretmeni

Dev C++ , Delphi olabilir

Dajj Mark

mesela akış şemalarını oldukça iyi öğrendim,çokça araştırma yapıyorum dediğiniz gibi ancak mesela neler yapabilirim :) sizi yorduysam üzgünüm çok meraklıyım :D

BilisimOgretmeni

:) kızacak bir şey yok hevesli olman güzel, ilk olarak kendin için bir not defteri, telefon bilgilerini tutacağın bir rehber programı vs.. yapmayı deneyebilirsin

Dajj Mark

Merhaba,paylaştıklarınızı sıkı bir şekilde takip ediyorum.Daha 13 yaşındayım ancak temel bir şeyler öğrenmeye başladım ve bilgisayar mühendisi olmak istiyorum.Sizce ne ile başlayabilirim yada geç kalmış myım ? bilgilendirirseniz sevinirim :)

BilisimOgretmeni

Öncelikle teşekkürler, bu yaşlarda programcılıkla ilgilenmen güzel bir şey mühendisliği hedef olarak da koyman çok iyi, bilgisayar heves ve merak işidir, araştırma, kendini yenileme ve çok çalışmak lazım. Sürekli çalış yılma yeni teknolojileri takip et umarım istediğin yerlere ulaşırsın.. şimdiden tebrikler :)

Beril Üşenmez

teşekkür ederim hocam

BilisimOgretmeni

rica ederim iyi çalışmalar

Beril Üşenmez

peki max 7 basamaklı sayı girilebilseydi nasıl yapacaktık lütfen yardımcı olurmusunuz

BilisimOgretmeni
MUSTAFA

hocam buna nereye tıklayıp yazmaya başlıyoruz başta bi açıklama yapsanız??

BilisimOgretmeni

ilk olarak form tasarımını yapıyorsun daha sonra butona tıklayıp label2.Text = ""; int sayi; sayi = Convert.ToInt32(textBox1.Text); string sonuc; yaziyacevir(sayi, out sonuc); label2.Text = sonuc; kodlarını yaz daha sonra button1click yazısının üstüne static bool sayiyioku(int sayi, out string gecici) { string[] strbir = { "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz", "On", "Onbir", "Oniki", "Onüç", "Ondört", "Onbeş", "Onaltı", "Onyedi", "Onsekiz", "Ondokuz", }; string[] stron = { "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan", "Yüz" }; //www.bilisimogretmeni.com string sonuc = ""; gecici = ""; int birler, onlar, yuzler; if (sayi > 1000) return false; yuzler = sayi… Read more »