IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C ve C++ (https://www.ircforumlari.net/c-ve-c/)
-   -   1-999 arasında girilen sayıyı yazıya çevirme (https://www.ircforumlari.net/c-ve-c/495127-1-999-arasinda-girilen-sayiyi-yaziya-cevirme.html)

aSi 12 Temmuz 2012 09:11

1-999 arasında girilen sayıyı yazıya çevirme
 
1 ile 999 arasında girilen sayıyı yazı olarak ekrana yazan program.


Kod:

}

void ekrana_yaz(int sayi) 
{
    if(sayi>=1 && sayi<=9)
    {
        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;
        }
    }
    if(sayi>=10 && sayi<=99)
    {
        switch(sayi)
        {
          case 10: printf("on "); break;
          case 20: printf("yirmi "); break;
          case 30: printf("otuz "); break;
          case 40: printf("kirk "); break;
          case 50: printf("elli "); break;
          case 60: printf("altmis "); break;
          case 70: printf("yetmis "); break;
          case 80: printf("seksen "); break;
          case 90: printf("doksan "); break;
        }
    }
    if(sayi>=100 && sayi<=999)
    {
        switch(sayi)
        {
          case 100: printf("yuz "); break;
          case 200: printf("ikiyuz "); break;
          case 300: printf("ucyuz "); break;
          case 400: printf("dortyuz "); break;
          case 500: printf("besyuz "); break;
          case 600: printf("altiyuz "); break;
          case 700: printf("yediyuz "); break;
          case 800: printf("sekizyuz "); break;
          case 900: printf("dokuzyuz "); break;
        }
    }
}




YazılımMimarı 12 Temmuz 2012 09:42

Cevap: Girilen sayıyı yazıya çevirme
 
993 yazmak istediğimde program nasıl çalışacak? Bu tür algoritmalar için mod '%' operatörü kullanmak gereklidir.

aSi 12 Temmuz 2012 12:45

Cevap: 1-999 arasında girilen sayıyı yazıya çevirme
 
Toplam 1 Eklenti bulunuyor.
Kod:

#include<stdio.h>
#include<conio.h>

void ekrana_yaz(int);
main()
{
    int sayi,birler,onlar,yuzler;
    do
    {                                // girilen sayinin 1-999 arasında
        printf("  Bir sayi giriniz(1-999):  ");
        scanf("%d",&sayi);            // olup olmadığı kontrolü yapılıyor
    }while(sayi<1 || sayi>999);  // değilse, tekrar sayı girişi istenir
   
    printf("\n\n");
    printf("  ");
                                // varsayalım sayımız  -- 543 -- olsun
    yuzler=sayi-(sayi%100);  // - 500 - olan kısmı alır
    ekrana_yaz(yuzler);        // ve fonksiyona yollar

    sayi=sayi%100;   
    onlar=sayi-(sayi%10);  // ardından sayının - 40 - olan kısmını alır
    ekrana_yaz(onlar);    // ve fonksiyona yollar

    birler=sayi%10;        // en sonda - 3 - olan kısmı alır
    ekrana_yaz(birler);      // ve fonksiyona yollar



    getch();
}

void ekrana_yaz(int sayi) 
{
    if(sayi>=1 && sayi<=9)
    {
        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;
        }
    }
    if(sayi>=10 && sayi<=99)
    {
        switch(sayi)
        {
          case 10: printf("on "); break;
          case 20: printf("yirmi "); break;
          case 30: printf("otuz "); break;
          case 40: printf("kirk "); break;
          case 50: printf("elli "); break;
          case 60: printf("altmis "); break;
          case 70: printf("yetmis "); break;
          case 80: printf("seksen "); break;
          case 90: printf("doksan "); break;
        }
    }
    if(sayi>=100 && sayi<=999)
    {
        switch(sayi)
        {
          case 100: printf("yuz "); break;
          case 200: printf("ikiyuz "); break;
          case 300: printf("ucyuz "); break;
          case 400: printf("dortyuz "); break;
          case 500: printf("besyuz "); break;
          case 600: printf("altiyuz "); break;
          case 700: printf("yediyuz "); break;
          case 800: printf("sekizyuz "); break;
          case 900: printf("dokuzyuz "); break;
        }
    }
}



Kodu yazarken eksik yazılmıs. Şuankini kullan @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].

Eklentidede çalıştır exe'si var indirip ordan 993 yazdığında normal bir sonuç aldığını görüceksin.

YazılımMimarı 12 Temmuz 2012 21:16

Cevap: 1-999 arasında girilen sayıyı yazıya çevirme
 
Bende mod bekliyordum ;) C, C++ iş hayatımda pek kullanmam hatta hiç diyebilirim. Sadece kod içeriği için söylemiştim. Teşekkürler, düzenlediğin için ;)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 15:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk