girilen sayıyı basamaklarına ayırma c ++

Sagot :

örnek olarak verirsen daha rahat olur bence

int sayi, i = 0; //Klavyeden girilecek sayinin 0 ile 999 sınırlarında //olup olmadığı kontrol ediliyor. Eğer değilse, //uyarı verilip, yeni bir sayı isteniyor. Bu işlem //doğru bir değer girilene kadar devam ediyor. do { Console.Write("Sayıyı giriniz> "); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi > 9999 || sayi < 0) Console.WriteLine("Girdiğiniz sayı 0 ile 9999 arasında olmalıdır.\n"); else break; } while (i == 1); Console.WriteLine("{0} sayısı \n\n", sayi); //Verilen sayıyı, yazıyla ifade edebilmemiz için, //yüzler, onlar ve birler basamaklarına ayırmamız //gerekmektedir. //Sayının yüzler basamağı ayrıştırılıyor. //Bunun için sayıyı, 100'e bölmek yeterli. //YÜZLER BASAMAĞI: switch (sayi / 1000) { case 9: Console.Write("dokuzbin"); break; case 8: Console.Write("sekizbin"); break; case 7: Console.Write("yedibin"); break; case 6: Console.Write("altıbin"); break; case 5: Console.Write("beşbin"); break; case 4: Console.Write("dörtbin"); break; case 3: Console.Write("üçbin"); break; case 2: Console.Write("ikibin"); break; case 1: Console.Write("bin"); break; } switch (sayi%1000/100) { case 9: Console.Write("dokuzyüz"); break; case 8: Console.Write("sekizyüz"); break; case 7: Console.Write("yediyüz"); break; case 6: Console.Write("altıyüz"); break; case 5: Console.Write("beşyüz"); break; case 4: Console.Write("dörtyüz"); break; case 3: Console.Write("üçyüz"); break; case 2: Console.Write("ikiyüz"); break; case 1: Console.Write("yüz"); break; } //Onlar basamağını bulmak için, sayının //yüze bölümünden kalan değeri, 10'a //bölüyoruz. Yüzler basamağını bir önceki //adımda ele aldığımız için, bu adımda, //sayının yüze bölümünü değil, bölümünden //kalanı kullandık. //ONLAR BASAMAĞI: switch ((sayi % 100) / 10) { case 9: Console.Write("doksan"); break; case 8: Console.Write("seksen"); break; case 7: Console.Write("yetmiş"); break; case 6: Console.Write("altmış"); break; case 5: Console.Write("elli"); break; case 4: Console.Write("kırk"); break; case 3: Console.Write("otuz"); break; case 2: Console.Write("yirmi"); break; case 1: Console.Write("on"); break; } //Birler basamağını bulabilmek için, sayının //10'a bölümünden kalana bakıyoruz. //BİRLER BASAMAĞI: switch ((sayi % 10)) { case 9: Console.Write("dokuz"); break; case 8: Console.Write("sekiz"); break; case 7: Console.Write("yedi"); break; case 6: Console.Write("altı"); break; case 5: Console.Write("beş"); break; case 4: Console.Write("dört"); break; case 3: Console.Write("üç"); break; case 2: Console.Write("iki"); break; case 1: Console.Write("bir"); break; } //Eğer sayı 0 ise, yukarda ki düzeneğe //uymayacağından, onu ayrıca ele alıyoruz. if (sayi == 0) Console.WriteLine("sıfır"); Console.Write(" şeklinde okunur.\n\n\n\n");