Tutoriales de informática - Abrirllave.com

Abrirllave.com

Ejemplo de lenguaje C - Día de la semana

Si en lenguaje C se quiere escribir un programa que:

1º) Pida por teclado el número (dato entero) de un día de la semana.

2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.

Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: "ERROR: Día incorrecto.".

Por pantalla se verá, por ejemplo:

Visualización en pantalla del programa Día de la semana, siendo martes, resuelto en lenguaje C.

Si el día es incorrecto, en pantalla se podrá ver:

Visualización en pantalla del programa Día de la semana, siendo incorrecto, resuelto en lenguaje C.

Solución 1: utilizando la instrucción switch

Para resolver este problema, en lenguaje C se puede escribir:

/* Programa: Día de la semana (Solución 1) */

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

int main()
{
    int dia;

    printf( "\n   Introduzca d%ca de la semana: ", 161 );
    scanf( "%d", &dia );

    switch ( dia )
    {
         case 1 : printf( "\n   Lunes" );
                  break;
         case 2 : printf( "\n   Martes" );
                  break;
         case 3 : printf( "\n   Mi%crcoles", 130 );
                  break;
         case 4 : printf( "\n   Jueves" );
                  break;
         case 5 : printf( "\n   Viernes" );
                  break;
         case 6 : printf( "\n   S%cbado", 160 );
                  break;
         case 7 : printf( "\n   Domingo" );
                  break;
        default : printf( "\n   ERROR: D%ca incorrecto.", 161 );
    }

    getch(); /* Pausa */

    return 0;
}

Solución 2: anidando switch en if

Por otra parte, el problema también se puede resolver anidando la instrucción switch dentro de un if:

/* Programa: Día de la semana (Solución 2) */

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

int main()
{
    int dia;

    printf( "\n   Introduzca d%ca de la semana: ", 161 );
    scanf( "%d", &dia );

    if ( dia >= 1 && dia <= 7 )

    /* Sólo si el día es válido,
       se ejecuta la instrucción switch */

        /* Inicio del anidamiento */
        switch ( dia )
        {
            case 1 : printf( "\n   Lunes" );
                     break;
            case 2 : printf( "\n   Martes" );
                     break;
            case 3 : printf( "\n   Mi%crcoles", 130 );
                     break;
            case 4 : printf( "\n   Jueves" );
                     break;
            case 5 : printf( "\n   Viernes" );
                     break;
            case 6 : printf( "\n   S%cbado", 160 );
                     break;
            case 7 : printf( "\n   Domingo" );
        }
        /* Fin del anidamiento */

    else
        printf( "\n   ERROR: D%ca incorrecto.", 161 );

    getch(); /* Pausa */

    return 0;
}