Sayıyı yazıya dönüştürmek
Jul 24,2007 00:00 by mustaYfa

Aşağıdaki işlevler ile bir sayı Türkçe bir yazı olarak ekrana yazdırılıyor.

#include

void yuzyaz(int val)
{
static const char *birler[] = {"", "bir", "iki", "uc", "dort", "bes", "alti", "yedi", "sekiz", "dokuz"};
static const char *onlar[] = {"", "on", "yirmi", "otuz", "kirk", "elli", "altmis", "yetmis", "seksen", "doksan"};
int y = val / 100;
int o = val % 100 / 10;
int b = val % 10;

if (y > 1)
printf("%s", birler[y]);
if (y > 0)
printf("yuz");
if (o > 0)
printf("%s", onlar[o]);
if (b > 0)
printf("%s", birler[b]);
}

int syaz(int val)
{
int milyar, milyon, bin, yuz;

if (val >= 1000000000) {
milyar = val / 1000000000;
yuzyaz(milyar);
printf("milyar");
}

if (val > 1000000) {
milyon = val % 1000000000 / 1000000;
yuzyaz(milyon);
if (milyon)
printf("milyon");
}
if (val > 1000) {
bin = val % 1000000 / 1000;
if (bin >= 1)
yuzyaz(bin);
if (bin > 1)
printf("bin");
}
yuz = val % 1000;
yuzyaz(yuz);
}

int main()
{
syaz(400800000);
printf("n");

system("pause");

return 0;
}