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

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;
}
}
}
  • 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 😀 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 😀

    • 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

  • 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 / 100;

      sayi = sayi - yuzler * 100;

      if (sayi 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 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;

      } kodlarını yapıştır.

Pin It on Pinterest