Tutoriales de informática - Abrirllave.com

Abrirllave.com

Ejercicio de lenguaje C - De número a letras

Escribir en lenguaje C un programa que:

1º) Pida por teclado un número (dato entero) del 1 al 10.

2º) Muestre por pantalla su equivalente en letras (dato cadena).

Nota: si el número introducido es menor que 1 ó mayor que 10, se mostrará el mensaje: "ERROR: El número debe ser >= 1 y <= 10.".

En pantalla se mostrará, por ejemplo:

Visualización en pantalla del programa De número a letras, resuelto en lenguaje C.

Si el número introducido es incorrecto, se visualizará el mensaje de error:

Visualización en pantalla del programa Número a letras, mostrando error, resuelto en lenguaje C.

Solución 1:

/* Programa: De número a letras (Solución 1) */

#include <conio.h>
#include <stdio.h>

int main()
{
    int numero;

    printf( "\n   Introduzca un n%cmero entero (1-10): ", 163 );
    scanf( "%d", &numero );

    if ( numero >= 1 && numero <= 10 )

        switch ( numero )
        {
            case  1 : printf( "\n   uno" );
                      break;
            case  2 : printf( "\n   dos" );
                      break;
            case  3 : printf( "\n   tres" );
                      break;
            case  4 : printf( "\n   cuatro" );
                      break;
            case  5 : printf( "\n   cinco" );
                      break;
            case  6 : printf( "\n   seis" );
                      break;
            case  7 : printf( "\n   siete" );
                      break;
            case  8 : printf( "\n   ocho" );
                      break;
            case  9 : printf( "\n   nueve" );
                      break;
            case 10 : printf( "\n   diez" );
        }

    else
        printf( "\n   ERROR: El n%cmero debe ser >= 1 y <= 10.", 163 );
 
    getch(); /* Pausa */

    return 0;
}

Solución 2:

/* Programa: De número a letras (Solución 2) */

#include <conio.h>
#include <stdio.h>

int main()
{
    int numero;

    printf( "\n   Introduzca un n%cmero entero (1-10): ", 163 );
    scanf( "%d", &numero );

    switch ( numero )
    {
        case  1 : printf( "\n   uno" );
                  break;
        case  2 : printf( "\n   dos" );
                  break;
        case  3 : printf( "\n   tres" );
                  break;
        case  4 : printf( "\n   cuatro" );
                  break;
        case  5 : printf( "\n   cinco" );
                  break;
        case  6 : printf( "\n   seis" );
                  break;
        case  7 : printf( "\n   siete" );
                  break;
        case  8 : printf( "\n   ocho" );
                  break;
        case  9 : printf( "\n   nueve" );
                  break;
        case 10 : printf( "\n   diez" );
                  break;
        default : printf( "\n   ERROR: El n%cmero debe ser >= 1 y <= 10.", 163 );
    }
 
    getch(); /* Pausa */

    return 0;
}

Solución 3:

/* Programa: De número a letras (Solución 3) */

#include <conio.h>
#include <stdio.h>
#include <string.h>

int main()
{
    int numero;
    char letras[7];

    printf( "\n   Introduzca un n%cmero entero (1-10): ", 163 );
    scanf( "%d", &numero );

    switch ( numero )
    {
        case  1 : strcpy( letras, "uno" );
                  break;
        case  2 : strcpy( letras, "dos" );
                  break;
        case  3 : strcpy( letras, "tres" );
                  break;
        case  4 : strcpy( letras, "cuatro" );
                  break;
        case  5 : strcpy( letras, "cinco" );
                  break;
        case  6 : strcpy( letras, "seis" );
                  break;
        case  7 : strcpy( letras, "siete" );
                  break;
        case  8 : strcpy( letras, "ocho" );
                  break;
        case  9 : strcpy( letras, "nueve" );
                  break;
        case 10 : strcpy( letras, "diez" );
    }

    if ( numero >= 1 && numero <= 10 )
        printf( "\n   %s", letras );
    else
        printf( "\n   ERROR: El n%cmero debe ser >= 1 y <= 10.", 163 );
 
    getch(); /* Pausa */

    return 0;
}