Created
October 3, 2015 13:55
-
-
Save cagataycali/dae4faa2bb1013424b34 to your computer and use it in GitHub Desktop.
C ile sayıların okunuşunu bulma ( 0-999 )
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Girilen sayının, nasıl okunduğunu ekrana yazdıran programdır. | |
Fonksiyon kullanımıyla daha efektif olarak yazılabilir. | |
Ancak henüz işlenmeyen bir konu olduğundan, basit bir şekilde | |
yazılmıştır. | |
*/ | |
#include<stdio.h> | |
int main( void ) | |
{ | |
int sayi; | |
//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 { | |
printf( "Sayıyı giriniz> " ); | |
scanf("%d",&sayi); | |
if( sayi>999 || sayi<0 ) | |
printf("Girdiğiniz sayı uygun değildir.\n" | |
"0 ile 999 arasında olmalıdır.\n"); | |
else | |
break; | |
}while( 1 ); | |
printf( "%d sayısı, '",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/100 ) { | |
case 9: printf( "dokuzyüz" ); break; | |
case 8: printf( "sekizyüz" ); break; | |
case 7: printf( "yediyüz" ); break; | |
case 6: printf( "altıyüz" ); break; | |
case 5: printf( "beşyüz" ); break; | |
case 4: printf( "dörtyüz" ); break; | |
case 3: printf( "üçyüz" ); break; | |
case 2: printf( "ikiyüz" ); break; | |
case 1: printf( "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: printf( "doksan" ); break; | |
case 8: printf( "seksen" ); break; | |
case 7: printf( "yetmiş" ); break; | |
case 6: printf( "altmış" ); break; | |
case 5: printf( "elli" ); break; | |
case 4: printf( "kırk" ); break; | |
case 3: printf( "otuz" ); break; | |
case 2: printf( "yirmi" ); break; | |
case 1: printf( "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: printf( "dokuz" ); break; | |
case 8: printf( "sekiz" ); break; | |
case 7: printf( "yedi" ); break; | |
case 6: printf( "altı" ); break; | |
case 5: printf( "beş" ); break; | |
case 4: printf( "dört" ); break; | |
case 3: printf( "üç" ); break; | |
case 2: printf( "iki" ); break; | |
case 1: printf( "bir" ); break; | |
} | |
//Eğer sayı 0 ise, yukarda ki düzeneğe | |
//uymayacağından, onu ayrıca ele alıyoruz. | |
if( sayi == 0 ) | |
printf( "sıfır" ); | |
printf( "' şeklinde okunur.\n" ); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ccs c kodu ile yazımı nasıl olur acaba