Tutorial de Lenguaje C                                                                                               Dr. Roberto Gómez


ESTRUCTURA GENERAL DEL switch

Estructura general del switch

    switch (var) {

                                case c1:
                                case c2:         Bloque 1
                                                         Bloque 2
                                                         break;
                                case c3:
                                case c4:         Bloque 3
                                                         Bloque 4
                                case c5:         Bloque 5
                                case c6:
                                case c7:
                                case c8:         Bloque 6
                                                         break;
                                default:          Bloque 7
                            }
                          Bloque 8

Opcion default no obligatoria.

prog09.c Primer ejemplo uso switch: un menu

#include <stdio.h>

int main()
{

                    int opcion;

                    printf(''1> Mexico \n'');
                    printf(''2> Francia \n'');
                    printf(''3> Italia \n'');
                    printf(''4> Inglaterra \n'');
                    printf(''5> Barcelona \n'');
                    printf(''Opcion: '');
                    scanf(''%d'',&opcion);
                    switch (opcion) {
                                case 1: printf(''Bueno \n'');
                                              break;
                                case 2: printf(''Allo \n'');
                                              break;
                                case 3: printf(''Pronto \n'');
                                              break;
                                case 4: printf(''Hello \n'');
                                              break;
                                case 5: printf(''Digi \n'');
                                              break;
                       }
}
 

prog10.c Segundo ejemplo uso switch

#include <stdio.h>

int main()

{
                    char letra;
                    printf(''De una letra: '');
                    scanf(''%c'',&letra);
                    switch (letra) {
                                                    case 'a':
                                                    case 'e':
                                                    case 'i':
                                                    case 'o':
                                                    case 'u': printf(''Es una vocal minuscula\n'');
                                                                    break;
                                                    case 'A':
                                                    case 'E':
                                                    case 'I':
                                                    case 'O':
                                                    case 'U': printf(''Es una vocal MAYUSCULA\n'');
                                                                    break;
                                                    default: if( (letra>'a') && (letra<'z'))
                                                                        printf(''Consonante minuscula \n'');
                                                                    else
                                                                        printf(''Consonante MAYUSCULA \n'');
                                                    }
}


Ejercicios

  1. Escribir un programa que pida la nota de un examen (un nº real entre 0 y 10) e imprima en pantalla  “Suspendido”, si la nota es menor que 5, “Aprobado” si está entre 5 inclusive y 7 sin incluir, “Notable” si está entre 7 inclusive y 9 sin incluir, “Sobresaliente” si está entre 9 inclusive y 10 sin incluir y “Matrícula de honor” si la nota es igual a 1.
  2. Escribir un programa que, dado el número del mes, y  el año (hay que considerar si el año es bisiesto) saque por pantalla el número de dias del mes.

MENÚ PRINCIPAL