folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Girilen Rakamı Ekrana Harflerle Yazdırmak?



Girilen Rakamı Ekrana Harflerle Yazdırmak?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    umutonder
    umutonder's avatar
    Kayıt Tarihi: 14/Kasım/2011
    Erkek

    c# ödevi için lazım beyler max 6 basamak olan bir sayıyı 
    örğ : 123 456 sayısını  "yüz yirmi üç bin dört yüz elli altı" yazıcak bi algoritmaya ihtiyacım var

    ne gibi fikir kurabiliriz bunun için ?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mylitta
    Mylitta's avatar
    Kayıt Tarihi: 13/Nisan/2008
    Erkek

    Switch case olabilir. Daha bilgili arkadaşlar yardımcı olacaktır.


    Ayılıp bayılıp ayılıyoruz, bütün sokakları ayıkıyoruz
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    genelde yazıya çevrilen kısım dizide tutulur. birler onlar binler şeklinde yapılır. tabii bazıları bunu biraz daha amatörleştirerek 100 e bölüp kalana göre switch case ile değer atıyorlar. öyle de yapılır ama büyük sayılarda sıkıntı olur

     

    http://www.hayatisahin.com/BlogEngine/?tag=/C%23+Say%C4%B1y%C4%B1+Yaz%C4%B1ya+%C3%87evirme

     

    burada güzel bir örnek buldum.. inceleyip kendi kodunu yazabilirsin. anlamadığın yeri buradan sorabilrsin, yardımcı olmaya çalışırım


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    oldwolf
    oldwolf's avatar
    Kayıt Tarihi: 02/Haziran/2002
    Erkek

    Kendim yazdım zamanında:

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    void sayiyazdir(char * s_sayi);

    int main()
    {
        char str[36];
        system ("COLOR F0");
        printf ("Bu program girdiginiz bir tamsayinin okunusunu verir.\n");
        printf ("\nSayi: ");
        gets(str);
        sayiyazdir(str);
        system ("PAUSE");
        return 0;
    }

    void sayiyazdir(char * s_sayi)
    {


        int s[12], c[3], i, b, counter=-1, slen;
        bool binstate;

        for (i=0; i<12; i++) s[i]=0;
        counter=-1;

        slen=strlen(s_sayi);
       
        for (i=0; i<slen; i++)
          {
            if (i%3==0) counter++;

            switch (s_sayi[slen-i-1])
            {
            case '0': b=0; break;
            case '1': b=1; break;
            case '2': b=2; break;
            case '3': b=3; break;
            case '4': b=4; break;
            case '5': b=5; break;
            case '6': b=6; break;
            case '7': b=7; break;
            case '8': b=8; break;
            case '9': b=9; break;
            default: printf ("\nGirdiginiz sayida rakam harici karakter\nolup olmadiginikontrol edip tekrar deneyin.\n\n"); return;
            }

            if (i%3==0) s[counter]+=b;
            if (i%3==1) s[counter]+=b*10;
            if (i%3==2) s[counter]+=b*100;      

          }
         
         
        printf ("\nOkunusu:");

        for (i=counter; i>=0; i--)
        {
              binstate=true;
              c[0]=s[i]%10;
              c[1]=(s[i]/10)%10;
              c[2]=s[i]/100;
             
              if (c[2]!=0)
                  {
                  if (c[2]==2) printf (" iki");
                  if (c[2]==3) printf (" uc");
                  if (c[2]==4) printf (" dort");
                  if (c[2]==5) printf (" bes");
                  if (c[2]==6) printf (" alti");
                  if (c[2]==7) printf (" yedi");
                  if (c[2]==8) printf (" sekiz");
                  if (c[2]==9) printf (" dokuz");
                  printf (" yuz");
                  }
       
              if (c[1]!=0)
                  {                  
                  if (c[1]==1) printf (" on");
                  if (c[1]==2) printf (" yirmi");
                  if (c[1]==3) printf (" otuz");
                  if (c[1]==4) printf (" kirk");
                  if (c[1]==5) printf (" elli");
                  if (c[1]==6) printf (" atmis");
                  if (c[1]==7) printf (" yetmis");
                  if (c[1]==8) printf (" seksen");
                  if (c[1]==9) printf (" doksan");
                  }

              if (i==1 && s[1]==1) binstate=false;
              if (c[0]!=0)
                  {
                  if (c[0]==1 && binstate==true) printf (" bir");
                  if (c[0]==2) printf (" iki");
                  if (c[0]==3) printf (" uc");
                  if (c[0]==4) printf (" dort");
                  if (c[0]==5) printf (" bes");
                  if (c[0]==6) printf (" alti");
                  if (c[0]==7) printf (" yedi");
                  if (c[0]==8) printf (" sekiz");
                  if (c[0]==9) printf (" dokuz");
                  }
                 
              if (i==1 && s[i]>0) printf (" bin");
              if (i==2 && s[i]>0) printf (" milyon");
              if (i==3 && s[i]>0) printf (" milyar");
              if (i==4 && s[i]>0) printf (" trilyon");
              if (i==5 && s[i]>0) printf (" katrilyon");
              if (i==6 && s[i]>0) printf (" kentrilyon");
              if (i==7 && s[i]>0) printf (" seksilyon");
              if (i==8 && s[i]>0) printf (" septilyon");
              if (i==9 && s[i]>0) printf (" oktilyon");
              if (i==10 && s[i]>0) printf (" nobilyon");
              if (i==11 && s[i]>0) printf (" desilyon");
        
            
        }
        printf (".\n");
       
    }


    Metallica Rules
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    oldwolf
    oldwolf's avatar
    Kayıt Tarihi: 02/Haziran/2002
    Erkek

    Pointer görmediysen bu da pointersız:

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>

    int main(void)
    {
        char s_sayi[36];
        int s[12], c[3], i, b, counter=-1, slen;
        bool binstate;
       
        system ("COLOR F0");
       
        printf ("Bu program girdiginiz bir tamsayinin okunusunu verir.\n");
        input:
        for (i=0; i<12; i++) s[i]=0;
        counter=-1;
        printf ("\nSayi: ");
        gets (s_sayi);
        slen=strlen(s_sayi);
       
        for (i=0; i<slen; i++)
          {
            if (i%3==0) counter++;

            switch (s_sayi[slen-i-1])
            {
            case '0': b=0; break;
            case '1': b=1; break;
            case '2': b=2; break;
            case '3': b=3; break;
            case '4': b=4; break;
            case '5': b=5; break;
            case '6': b=6; break;
            case '7': b=7; break;
            case '8': b=8; break;
            case '9': b=9; break;
            default: printf ("\nGirdiginiz sayida rakam harici karakter olup olmadigini kontrol edip tekrar deneyin.\n"); goto input; break;
            }

            if (i%3==0) s[counter]+=b;
            if (i%3==1) s[counter]+=b*10;
            if (i%3==2) s[counter]+=b*100;      

          }
         
         
        printf ("\nOkunusu:");

        for (i=counter; i>=0; i--)
        {
              binstate=true;
              c[0]=s[i]%10;
              c[1]=(s[i]/10)%10;
              c[2]=s[i]/100;
             
              if (c[2]!=0)
                  {
                  if (c[2]==2) printf (" iki");
                  if (c[2]==3) printf (" uc");
                  if (c[2]==4) printf (" dort");
                  if (c[2]==5) printf (" bes");
                  if (c[2]==6) printf (" alti");
                  if (c[2]==7) printf (" yedi");
                  if (c[2]==8) printf (" sekiz");
                  if (c[2]==9) printf (" dokuz");
                  printf (" yuz");
                  }
       
              if (c[1]!=0)
                  {                  
                  if (c[1]==1) printf (" on");
                  if (c[1]==2) printf (" yirmi");
                  if (c[1]==3) printf (" otuz");
                  if (c[1]==4) printf (" kirk");
                  if (c[1]==5) printf (" elli");
                  if (c[1]==6) printf (" atmis");
                  if (c[1]==7) printf (" yetmis");
                  if (c[1]==8) printf (" seksen");
                  if (c[1]==9) printf (" doksan");
                  }

              if (i==1 && s[1]==1) binstate=false;
              if (c[0]!=0)
                  {
                  if (c[0]==1 && binstate==true) printf (" bir");
                  if (c[0]==2) printf (" iki");
                  if (c[0]==3) printf (" uc");
                  if (c[0]==4) printf (" dort");
                  if (c[0]==5) printf (" bes");
                  if (c[0]==6) printf (" alti");
                  if (c[0]==7) printf (" yedi");
                  if (c[0]==8) printf (" sekiz");
                  if (c[0]==9) printf (" dokuz");
                  }
                 
              if (i==1 && s[i]>0) printf (" bin");
              if (i==2 && s[i]>0) printf (" milyon");
              if (i==3 && s[i]>0) printf (" milyar");
              if (i==4 && s[i]>0) printf (" trilyon");
              if (i==5 && s[i]>0) printf (" katrilyon");
              if (i==6 && s[i]>0) printf (" kentrilyon");
              if (i==7 && s[i]>0) printf (" seksilyon");
              if (i==8 && s[i]>0) printf (" septilyon");
              if (i==9 && s[i]>0) printf (" oktilyon");
              if (i==10 && s[i]>0) printf (" nobilyon");
              if (i==11 && s[i]>0) printf (" desilyon");
        
            
        }
        printf (".\n\n");
        system ("PAUSE");
        return 0;
    }


    Metallica Rules
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    c# kodu değil bunlar.. arkadaşın çevirmesi gerekecek. ayrıca ilk mesajımda söylediğim gibi bu yöntem biraz daha amatöre kaçıyor sayıyı böldürmek falan.. gerçi bilmiyorum arkadaşın yapmak istediği ne, ödev mi yoksa öğrenmek mi istiyor ...


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    oldwolf
    oldwolf's avatar
    Kayıt Tarihi: 02/Haziran/2002
    Erkek

    Kodun %90'ı algoritma zaten çevirmek zor olmasa gerek. 


    Metallica Rules
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    umutonder
    umutonder's avatar
    Kayıt Tarihi: 14/Kasım/2011
    Erkek

    verilen cevapları inceliycem saolun şuan yaz okulundayım %10 etkili 3 ödevin birincisi bu puan toplamam lazım öğrenmem de gerekiyor elbet kafama takılan bişe olursa yazarım tekrar

Toplam Hit: 1124 Toplam Mesaj: 8