/* CONVERTIR DE NUMERO A LETRA En al rango de 0 --> 999 */ #include <stdio.h> #include <string.h> #include <conio.h> // conversiOn num - let. char *texto; // variable global (salida en texto) void main(void) { int Num,N,T,C,D,U; clrscr(); gotoxy(10,10); scanf("%d",&Num); N = Num; gotoxy(10,13); printf("Convirtiendo a texto ...\n\n"); C = N/100; T = N - (C*100); D = T/10; U = T - (D*10); conv(C,D,U); printf("%d\t%d\t%d\n",C,D,U); printf("%s",texto); getch(); } void conv(int C, int D, int U) { char *T; texto = ""; if (C) { T = ""; switch(C) { case 1: T = "cien"; if ((D) || (U)) strcat(T,"to "); break; case 2: T = "doscientos "; break; case 3: T = "trescientos "; break; case 4: T = "cuatrocientos "; break; case 5: T = "quinientos "; break; case 6: T = "seiscientos "; break; case 7: T = "setecientos "; break; case 8: T = "ochocientos "; break; case 9: T = "novecientos "; break; } // FIN DE SWITCH(C) strcat(texto, T); T = ""; } // FIN DE IF (C) if (D) { T = ""; switch(D) { case 1: if (!U) T = "diez"; if ((U) && (U < 6)) { if (U == 1) T = "once"; if (U == 2) T = "doce"; if (U == 3) T = "trece"; if (U == 4) T = "catorce"; if (U == 5) T = "quince"; } // FIN DE IF (U < 6) && D = 1 if (U >= 6) T = "dieci"; break; case 2: if (!U) T = "veinte"; if (U) T = "veinti"; break; case 3: T = "treinta "; break; case 4: T = "cuarenta "; break; case 5: T = "cincuenta "; break; case 6: T = "sesenta "; break; case 7: T = "setenta "; break; case 8: T = "ochenta "; break; case 9: T = "noventa "; break; } // FIN DE SWITCH(D) strcat(texto, T); T = ""; if ((U) && (D > 2)) strcat(texto, "y "); } // FIN DE SI HAY DECENAS if (U) { T = ""; if ((!(D == 1)) && (U < 6)) { switch(U) { case 1: T = "uno"; break; case 2: T = "dos"; break; case 3: T = "tres"; break; case 4: T = "cuatro"; break; case 5: T = "cinco"; break; } // FIN DE SWITCH(U) } // FIN DE IF (D > 1) if (U > 5) { switch(U) { case 6: T = "seis"; break; case 7: T = "siete"; break; case 8: T = "ocho"; break; case 9: T = "nueve"; break; } // FIN DE SWITCH (U) } // FIN DE IF (U > 5) } // FIN DE IF (U) strcat(texto, T); } // FIN DE LA FUNCION CONV(i,i,i)