C ile 1 - 999 Arası Girilen Rakamı Yazıyla Yazdırma

C ile rakamı yazıyla yazdırma uygulaması yapmaya ne dersiniz?

C ile rakamı yazıyla yazdırma uygulaması yapmaya ne dersiniz?

Forumda bir arkadaş rica etmişti, ben de kendimi deneyeyim dedim; umarım sizin için de faydalı olur :)


#include <stdio.h>



int yaz(int sy)

{

if (sy < 10){

switch (sy)

{

       case 1: printf("Bir"); break;

       case 2: printf("Iki"); break;

       case 3: printf("Uc"); break;

       case 4: printf("Dort"); break;

       case 5: printf("Bes"); break;

       case 6: printf("Alti"); break;

       case 7: printf("Yedi"); break;

       case 8: printf("Sekiz"); break;

       case 9: printf("Dokuz"); break;

}

}

if (sy >= 10 && sy < 100)

{

switch ((sy - (sy % 10)) / 10)

{

       case 1: printf("On"); yaz(sy % 10); break;

       case 2: printf("Yirmi"); yaz(sy % 10); break;

       case 3: printf("Otuz"); yaz(sy % 10); break;

       case 4: printf("Kirk"); yaz(sy % 10); break;

       case 5: printf("Elli"); yaz(sy % 10); break;

       case 6: printf("Altmis"); yaz(sy % 10); break;

       case 7: printf("Yetmis"); yaz(sy % 10); break;

       case 8: printf("Seksen"); yaz(sy % 10); break;

       case 9: printf("Doksan"); yaz(sy % 10); break;

}

}

}



main()

{

int sayi, sayi2;

basla:

printf("1 ile 999 arasi bir sayi giriniz: ");

scanf("%d", &sayi);

printf("n");

if (sayi < 1 || sayi > 999){printf("n"); goto basla;

}else{

if (sayi < 10){

switch (sayi)

{

       case 1: printf("Bir"); break;

       case 2: printf("Iki"); break;

       case 3: printf("Uc"); break;

       case 4: printf("Dort"); break;

       case 5: printf("Bes"); break;

       case 6: printf("Alti"); break;

       case 7: printf("Yedi"); break;

       case 8: printf("Sekiz"); break;

       case 9: printf("Dokuz"); break;

}

printf("n");

}

if (sayi >= 10 && sayi < 100)

{

switch ((sayi - (sayi % 10)) / 10)

{

       case 1: printf("On"); yaz(sayi % 10); break;

       case 2: printf("Yirmi"); yaz(sayi % 10); break;

       case 3: printf("Otuz"); yaz(sayi % 10); break;

       case 4: printf("Kirk"); yaz(sayi % 10); break;

       case 5: printf("Elli"); yaz(sayi % 10); break;

       case 6: printf("Altmis"); yaz(sayi % 10); break;

       case 7: printf("Yetmis"); yaz(sayi % 10); break;

       case 8: printf("Seksen"); yaz(sayi % 10); break;

       case 9: printf("Doksan"); yaz(sayi % 10); break;

}

printf("n");

}

if (sayi >=100 && sayi < 1000)

{

sayi2 = ((sayi - (sayi % 100)) / 100);

if (sayi2 > 1) {yaz(sayi2);}

printf("Yuz");

yaz(sayi % 100);

}

printf("n");

goto basla;

}

}



Kod açıklaması:

[*] İki fonksiyon yazdık 'yaz' ve 'main'.
[*] Kullanıcıdan bir rakam istiyoruz, alıp istenilen aralıkta olup olmadığını kontrol ediyoruz.
[*] İstenilen aralıktaysa basamak sayısına göre işlem yapıyoruz.
[*] Birler basamağı aynen yazılır.
[*] Onlar basamağı (On, Yirmi... + Birler Basamağı)
[*] Yüzler basamağındaki rakam: 1 ise yazılmaz, daha büyükse birler basamağındaki değeri yazılır.

Kolay gelsin.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

bu C++ programlaya nasıl baslangıc yapabılırım bılgılendırırsenız sevınırım
internette temelden anlatan bir çok c / c++ kaynak var, google' dan bulabilceğinize eminim
Merhaba arkadaşlar; Benim iki tane C sorusunun cevabına ihtiyacım var. 2 programda sürekli hata oluşuyor. Yardımcı olabilir misiniz? 1.soru Aşağıdaki gibi çarpım tablosunun çıktısını oluşturan c programını hazırlayınız. 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 … 10 20 30 40 50 60 70 80 90 100 (iç içe döngü ile yaptım ama çalışınca sorun oluşmakta) 2.soru Aşağıdaki seride n ve x değerleri girildiğinde Y’i bulan program. Y= 2-1!/x+2!/3x+3!/5x....n!/(2k-1)x Örnek Çalışma: N değerini giriniz: 2 X değerini giriniz: 1 ----------------------------------------- Serinin sonucu= -0,34 Yardımcı olursanız sevinirim.Teşekkürler.

Yukarı Git