Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: C: Luvut sanoiksi

Lahha [09.09.2006 01:53:13]

#

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;
}

Pöytälamppu [19.09.2006 21:31:18]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta