Pages

jueves, 3 de enero de 2013

Algoritmo para Convertir Números a Letras - Código fuente en C

Problema
Desarrollar un programa donde se ingrese un número y lo convierta en letras.
Solución
Esta programa solo acepta números que van desde el  cero al noventa y nueve,  el usuario ingresa un número  y la aplicación retornara  dicho número convertido en letras.
Ejemplo
  - Entrada: 92
  - Salida:  noventa y dos.
Código Fuente en C
#include <stdio.h>
int main()
{
    const char *unidades[] = 
    {"cero", "uno", "dos" ,"tres" ,"cuatro" ,"cinco" ,
            "seis" ,"siete" ,"ocho" ,"nueve","diez"};
    const char *especiales[] = 
    {"once", "doce","trece","catorce", "quince",
              "diezciseis", "diecisiete", "dieciocho", "diecinueve"};
    const char *decenas[] = 
    {"veinte", "treinta","cuarenta","cincuenta", "sesenta",
           "setenta", "ochenta", "noventa"};

    //El dato ingresado lo convierte a entero y lo almacena en la variable num
    printf("Ingrese un numero entre 0-99: ");
    int num;
    scanf("%d",&num);

    if(num>=0 && num<11)
        printf("\n%s", unidades[num]);
    else if(num<20)
        printf("\n%s", especiales[num-11]);
    else if(num<100){
        int unid = num % 10;
        int dec = num/10;
        if(unid == 0)
            printf("\n%s", decenas[dec-2]);
        else
            printf("\n%s y %s", decenas[dec-2], unidades[unid]);
    }
    else
        printf("El numero debe ser menor a 100");

    return 0;
}

0 comentarios:

Publicar un comentario en la entrada