Pikku ohjelma joka muuttaa luvut väliltä 0 - 9 999 999 999 sanoiksi.
exe: http://www.freewebs.com/lahha/sanat.exe
// sanat.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int luku=0;
char merkit[128];
char out[128]="";
char out2[128]="";
char out3[128]="";
char out4[128]="";
char out5[128]="";
char out6[128]="";
char out7[128]="";
char out8[128]="";
char out9[128]="";
char out10[128]="";
int hah;
int p=0;
printf("anna luku(0 - 9 999 999 999)\n");
gets_s(merkit);
hah = atoi(merkit);
FILE *tiedosto;
tiedosto = fopen ("tuloste.txt", "w");
//############# PARI EASTER EGGIÄ ##########
if( hah == 1337 ){ printf( "Katiska o Leet!!!!1111 Sie oot Noob!!1\n" ); fprintf(tiedosto, "%s= tuhat kolmesataa kolme kymmentä seitsemän)", merkit); gets_s(merkit); return 0; }
if( hah == 0 ){ printf( "nolla\n" ); fprintf(tiedosto, "%s = nolla", merkit); gets_s(merkit); return 0; }
if( hah == 666 ){ printf( "...MUT TOSI ON SAATANA, ETTA MAA VIHAAN LOSKAA!!!\n" ); fprintf(tiedosto, "%s = kuusisataa kuusikymmentä kuusi", merkit); gets_s(merkit); return 0; }
//##########################################
while( merkit[luku] != '\0' ) // Numeroiden määrä
{
luku++;
}
if(luku > 10){ printf( "liian suuri luku!!!\n", luku); gets_s(merkit); return 0;}
int luvut[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
int luvut2[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
int luku2=0;
int luku3=0;
char merkki;
while( luku2 != luku ) // laitetaan numerot taulukkoon
{
merkki = merkit[luku2];
luvut[luku2] = atoi(&merkki);
luku2++;
}
luku2=0;
while ( luku2 != luku ) //Käännetään luvut vvärin päin
{
luku3 = luku-luku2-1;
luvut2[luku3] = luvut[luku2];
luku2++;
}
luku3=0;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out, "yksi" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out, "kaksi" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out, "kolme" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out, "neljä" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out, "viisi" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out, "kuusi" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out, "seitsemän" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out, "kahdeksan" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out, "yhdeksän" ); }
}
luku3++;
if( luvut2[luku3] > -1 )
{
if( luvut2[luku3] == 1 )
{
if(luvut2[0] == 0){ strcat_s( out, "kymmenen" ); }
if(luvut2[0] > 0 && luvut2[0] < 10){ strcat_s( out, "toista" ); }
}
if( luvut2[luku3] == 2 ){ strcat_s( out2, "kaksikymmentä" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out2, "kolmekymmentä" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out2, "neljäkymmentä" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out2, "viisikymmentä" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out2, "kuusikymmentä" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out2, "seitsemänkymmentä" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out2, "kahdeksankymmentä" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out2, "yhdeksänkymmentä" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out3, "sata" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out3, "kaksisataa" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out3, "kolmesataa" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out3, "neljäsataa" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out3, "viisisataa" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out3, "kuusisataa" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out3, "seitsemänsataa" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out3, "kahdeksansataa" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out3, "yhdeksänsataa" ); }
}
luku3++;
if( luvut2[luku3] > -1 )
{
if( luvut2[luku3] == 0 ){ strcat_s( out4, "tuhatta" ); }
if( luvut2[luku3] == 1 ){ strcat_s( out4, "tuhat" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out4, "kaksituhatta" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out4, "kolmetuhatta" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out4, "neljätuhatta" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out4, "viisituhatta" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out4, "kuusituhatta" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out4, "seitsemäntuhatta" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out4, "kahdeksantuhatta" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out4, "yhdeksäntuhatta" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out5, "kymmenen" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out5, "kaksikymmentä" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out5, "kolmekymmentä" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out5, "neljäkymmentä" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out5, "viisikymmentä" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out5, "kuusikymmentä" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out5, "seitsemänkymmentä" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out5, "kahdeksankymmentä" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out5, "yhdeksänkymmentä" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out6, "sata" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out6, "kaksisataa" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out6, "kolmesataa" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out6, "neljäsataa" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out6, "viisisataa" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out6, "kuusisataa" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out6, "seitsemänsataa" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out6, "kahdeksansataa" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out6, "yhdeksänsataa" ); }
}
luku3++;
if( luvut2[luku3] > -1 )
{
if( luvut2[luku3] == 0 ){ strcat_s( out7, "miljoona" ); }
if( luvut2[luku3] == 1 ){ strcat_s( out7, "yksi" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out7, "kaksimiljoonaa" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out7, "kolmemiljoonaa" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out7, "neljämiljoonaa" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out7, "viisimiljoonaa" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out7, "kuusimiljoonaa" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out7, "seitsemänmiljoonaa" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out7, "kahdeksanmiljoonaa" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out7, "yhdeksänmiljoonaa" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out8, "kymmenen" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out8, "kaksikymmentä" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out8, "kolmekymmentä" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out8, "neljäkymmentä" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out8, "viisikymmentä" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out8, "kuusikymmentä" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out8, "seitsemänkymmentä" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out8, "kahdeksankymmentä" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out8, "yhdeksänkymmentä" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out9, "sata" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out9, "kaksisataa" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out9, "kolmesataa" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out9, "neljäsataa" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out9, "viisisataa" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out9, "kuusisataa" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out9, "seitsemänsataa" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out9, "kahdeksansataa" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out9, "yhdeksänsataa" ); }
}
luku3++;
if( luvut2[luku3] > 0 )
{
if( luvut2[luku3] == 1 ){ strcat_s( out10, "miljardi" ); }
if( luvut2[luku3] == 2 ){ strcat_s( out10, "kaksimiljardia" ); }
if( luvut2[luku3] == 3 ){ strcat_s( out10, "kolmemiljardia" ); }
if( luvut2[luku3] == 4 ){ strcat_s( out10, "neljämiljardia" ); }
if( luvut2[luku3] == 5 ){ strcat_s( out10, "viisimiljardia" ); }
if( luvut2[luku3] == 6 ){ strcat_s( out10, "kuusimiljardia" ); }
if( luvut2[luku3] == 7 ){ strcat_s( out10, "seitsemänmiljardia" ); }
if( luvut2[luku3] == 8 ){ strcat_s( out10, "kahdeksanmiljardia" ); }
if( luvut2[luku3] == 9 ){ strcat_s( out10, "yhdeksänmiljardia" ); }
}
// tulostetaan näytöölle ja tiedostoon.
printf( "%s %s %s %s %s %s %s %s %s %s\n", out10, out9, out8, out7, out6, out5, out4, out3, out2, out);
fprintf(tiedosto, " %s = %s %s %s %s %s %s %s %s %s %s\n", merkit, out10, out9, out8, out7, out6, out5, out4, out3, out2, out);
fclose(tiedosto);
gets_s(merkit);
return 0;
}Hmm ohjelma palautti luvulle 1 404 351
yksi neljäsataa nejätuhatta kolmesataa viisikymmentä yksi.
Hieman kovakoodauksen makua tässä vinkissä ja nuo "Katiska o Leet!!!!1111"-jutut ovat ehkä hieman turhia. Ja tuo freewebs linkki ei toiminut suoraan vaan piti kopioida uuteen välilehteen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.