Untitled
unknown
plain_text
2 years ago
3.2 kB
8
Indexable
#include <stdio.h>
#include <string.h>
int main() {
int numero, unidades, decenas, centenas;
char cientosTexto[30] = "", decenasTexto[30] = "", unidadesTexto[15] = "";
char resultado[100] = "";
printf("Introduce un número entre 0 y 999: ");
scanf("%d", &numero);
if (numero < 0 || numero > 999) {
printf("Número fuera del rango permitido.\n");
return 1;
}
centenas = numero / 100;
decenas = (numero % 100) / 10;
unidades = numero % 10;
switch (centenas) {
case 1:
if (decenas == 0 && unidades == 0)
strcpy(cientosTexto, "cien");
else
strcpy(cientosTexto, "ciento ");
break;
case 2: strcpy(cientosTexto, "doscientos "); break;
case 3: strcpy(cientosTexto, "trescientos "); break;
case 4: strcpy(cientosTexto, "cuatrocientos "); break;
case 5: strcpy(cientosTexto, "quinientos "); break;
case 6: strcpy(cientosTexto, "seiscientos "); break;
case 7: strcpy(cientosTexto, "setecientos "); break;
case 8: strcpy(cientosTexto, "ochocientos "); break;
case 9: strcpy(cientosTexto, "novecientos "); break;
}
if (decenas == 1 && unidades > 0) {
switch (unidades) {
case 1: strcpy(decenasTexto, "once"); break;
case 2: strcpy(decenasTexto, "doce"); break;
case 3: strcpy(decenasTexto, "trece"); break;
case 4: strcpy(decenasTexto, "catorce"); break;
case 5: strcpy(decenasTexto, "quince"); break;
case 6: strcpy(decenasTexto, "dieciséis"); break;
case 7: strcpy(decenasTexto, "diecisiete"); break;
case 8: strcpy(decenasTexto, "dieciocho"); break;
case 9: strcpy(decenasTexto, "diecinueve"); break;
}
} else {
switch (decenas) {
case 2: strcpy(decenasTexto, "veinte"); break;
case 3: strcpy(decenasTexto, "treinta"); break;
case 4: strcpy(decenasTexto, "cuarenta"); break;
case 5: strcpy(decenasTexto, "cincuenta"); break;
case 6: strcpy(decenasTexto, "sesenta"); break;
case 7: strcpy(decenasTexto, "setenta"); break;
case 8: strcpy(decenasTexto, "ochenta"); break;
case 9: strcpy(decenasTexto, "noventa"); break;
}
if (decenas >= 2 && unidades > 0) {
strcat(decenasTexto, " y ");
}
switch (unidades) {
case 1: strcpy(unidadesTexto, "uno"); break;
case 2: strcpy(unidadesTexto, "dos"); break;
case 3: strcpy(unidadesTexto, "tres"); break;
case 4: strcpy(unidadesTexto, "cuatro"); break;
case 5: strcpy(unidadesTexto, "cinco"); break;
case 6: strcpy(unidadesTexto, "seis"); break;
case 7: strcpy(unidadesTexto, "siete"); break;
case 8: strcpy(unidadesTexto, "ocho"); break;
case 9: strcpy(unidadesTexto, "nueve"); break;
}
}
strcat(resultado, cientosTexto);
strcat(resultado, decenasTexto);
strcat(resultado, unidadesTexto);
printf("En letras: %s\n", resultado);
return 0;
}
Editor is loading...
Leave a Comment