c# uygulama örnekleric# uygulama örnekleri

C# ile girilen bir sayıyı yazıya çevirmek için öncelikle sayıların basamaklarını ve okunuşlarını tutan bir dizi oluşturmak gerekiyor. Ardından, girilen sayıyı basamaklarına ayırmak ve her bir basamağı okunuşuna göre birleştirmek gerekiyor. Aşağıda bu işlemleri gerçekleştiren bir örnek kod yer almaktadır:

C# İle Girilen Sayıyı Yazıya Çevirme Programı Nasıl Yapılır?

csharp

using System;
class Program
{
static void Main(string[] args)
{
string[] birler = {“”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
string[] onlar = {“”, “on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
Console.Write(“Sayı girin: “);
int sayi = int.Parse(Console.ReadLine());
string yazı = “”;
if (sayi < 0)
{
yazı = “eksi “;
sayi = -sayi;
}
if (sayi == 0)
{
yazı = “sıfır”;
}
if (sayi >= 1000000)
{
yazı += SayıyıYazıyaÇevir(sayi / 1000000) + ” milyon “;
sayi %= 1000000;
}
if (sayi >= 1000)
{
yazı += SayıyıYazıyaÇevir(sayi / 1000) + ” bin “;
sayi %= 1000;
}
if (sayi >= 100)
{
yazı += birler[sayi / 100] + ” yüz “;
sayi %= 100;
}
if (sayi >= 10)
{
yazı += onlar[sayi / 10] + ” “;
sayi %= 10;
}
yazı += birler[sayi];
Console.WriteLine(yazı);
}
static string SayıyıYazıyaÇevir(int sayi)
{
string[] birler = {“”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
string[] onlar = {“”, “on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
string yazı = “”;
if (sayi >= 100)
{
yazı += birler[sayi / 100] + ” yüz “;
sayi %= 100;
}
if (sayi >= 10)
{
yazı += onlar[sayi / 10] + ” “;
sayi %= 10;
}
yazı += birler[sayi];
return yazı;
}
}

 

Bu kodda, girilen sayı önce basamaklarına ayrılır, sonra her bir basamağın okunuşu belirlenerek birleştirilir. Eğer sayı 0’dan küçükse önce “eksi ” eklenir.

csharp

static string ConvertNumberToWords(int number)
{
if (number == 0)
{
return “sıfır”;
}
else if (number < 0)
{
return “eksi ” + ConvertNumberToWords(Math.Abs(number));
}
string words = “”;
if ((number / 1000000) > 0)
{
words += ConvertNumberToWords(number / 1000000) + ” milyon “;
number %= 1000000;
}
if ((number / 1000) > 0)
{
words += ConvertNumberToWords(number / 1000) + ” bin “;
number %= 1000;
}
if ((number / 100) > 0)
{
words += ConvertNumberToWords(number / 100) + ” yüz “;
number %= 100;
}
if (number > 0)
{
if (words != “”)
{
words += ” “;
}
var units = new[] {“sıfır”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
var tens = new[] {“on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
if (number < 10)
{
words += units[number];
}
else if (number < 20)
{
words += “on” + units[number – 10];
}
else
{
words += tens[number / 10 – 1];
if ((number % 10) > 0)
{
words += ” ” + units[number % 10];
}
}
}
return words;
}

 

Bu fonksiyon, herhangi bir integer sayısını Türkçeye çevirmek için kullanılabilir. Örneğin, ConvertNumberToWords(123) fonksiyonu “yüz yirmi üç” string’ini döndürür.

Bu uygulamada herhangi bir sorun yaşarsanız aşağıya yorum olarak bırakabilirsiniz. Bunun yanı sıra web sitemizdeki diğer hazır C# programlama örneklerine ulaşmak için bu linke tıklayabilirsiniz. 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir