Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Sentencia switch

Description

Sentencia de selección múltiple.
mcardenaz
Note by mcardenaz, updated more than 1 year ago
mcardenaz
Created by mcardenaz over 10 years ago
37
0
1 2 3 4 5 (0)

Resource summary

Page 1

SENTENCIA  en caso (switch)        La sentencia en caso (switch) hace que se seleccione un grupo de instrucciones entre varios grupos disponibles.  La selección se basa en el valor de una expresión que se incluye en la instrucción en caso (switch).     Sintaxis del pseudocódigo:                                            en caso (expresion)                                                  casos     Diagrama de Flujo:

Sintaxis del código:                    switch  (expresión)                      {                            case :                      }donde:                         expresión devuelve un valor entero, aunque también puede ser de tipo char.                           case: generalmente es compuesta y especifica las opciones posibles a seguir. Cada opción se expresa como un grupo de una o más instrucciones individuales dentro de la instrucción global incluida.               Para cada opción, la primera instrucción dentro del grupo debe ser precedida por una o mas etiquetas >.  Las etiquetas case deben ser, únicas dentro de una instrucción switch dada.  La sintaxis de cada grupo de instrucciones es:                           case     expresión:                                    instrucción 1                                    instrucción 2                                    ..................                                    instrucción n                 o en el caso de varias etiquetas case,                           case     expresión 1: case         expresión 2:                         ................................                         case     expresión m:                                    instrucción 1                                    instrucción 2                                     ..................                                    instrucción n               Cuando se ejecuta la instrucción switch, se evalúa la expresión y se transfiere el control directamente al grupo de instrucciones cuya etiqueta case tenga el mismo valor que el de expresión.  Si ninguno de los valores de las etiquetas case coincide con el valor de expresión, entonces no se realizará ninguno de los grupos de instrucción switch y se transfiere el control a la instrucción que se encuentre a continuación del switch.

Ejemplo:              switch(eleccion = getchar())                {                         case 'r': case 'R':                                    printf("\nROJO");                                    break;                         case 'a': case 'A':                                    printf("\nAZUL");                                    break;                         case 'b': case 'B':                                    printf("\nBLANCO");                                    break;             }                 Una variación del programa es la siguiente:               switch(eleccion = toupper(getchar()))             {                         case 'R':                              printf("ROJO");                              break;                         case 'A':                               printf("AZUL");                               break;                         case 'B':                               printf("BLANCO");                               break;                         default:                              printf("ERROR");             }               La instrucción switch contiene ahora un grupo default, el cual genera un mensaje de error si ninguna de las etiquetas case coincide con expresión.               En este ejemplo, la variable indicador es de tipo entero, y x e y son variables de coma flotante.   

33.     Realizar un programa que lea dos enteros y un carácter.  Si el carácter es un +, se imprime la suma; si es un -, se imprime la diferencia, si es un *, se imprime el producto; si es un /, se imprime el cociente; y si es un % se imprime el resto. (OPERACIONES.CPP)

     En este ejemplo las etiquetas case son numéricas.     Para la sentencia switch, el valor de la expresión puede ser tipo int o char, pero no de tipo float ni double. El valor de la etiqueta case debe ser el mismo tipo que el de expresión. 1.     Realizar un programa donde se necesita saber si un determinado carácter es una vocal. (VOCAL.CPP) /*programa vocales */

int indicador;float x,y;void main(void){    clrscr();     printf("Escoge un numero entre -1 y 3, que sea entero:   ");    scanf("%d",&indicador);    printf("Dame el valor de x: ");    scanf("%f",&x);    clrscr();    switch(indicador)    {       case -1:            y =fabs(x);            printf("El valor absoluto de x es:  y= %.2f",y);       break;       case 0:             y = sqrt(x);            printf("La raiz cuadrada de x es:  y= %.2f",y);       break;       case 1:             y = x;              printf("El valor de y es igual a x:  y= %.2f",y);        break;        case 2:        case 3:              y = 2 * (x-1);              printf("El valor y es,  y= %.2f",y);        break;        default:              y = 0;                 printf("El valor de y es, y=%.0f",y);    }    getch();}

char car;void main(void){   clrscr();   printf("Escribe una letra:   ");   scanf("%c",&car);   switch(tolower(car))   {       case 'a': case 'e': case 'i': case 'o':case 'u':           printf("\n%c es una vocal \n",car);       break;       default:           printf("\n%c NO ES UNA VOCAL \n",car);  }  getch();}2.     Realizar un programa donde dada una nota de un examen escribir lo que se indica en la siguiente tabla. (NOTA.CPP)

char nota;void main(void){    clrscr();    printf("Proporciona la calificacion (A-F) y pulse enter:  ");    scanf("%c",&nota);    switch(toupper(nota))    {        case 'A': puts("Excelente, Examen superado");        break;        case 'B': puts("Notable, Suficiencia");        break;        case 'C': puts("Aprobado");        break;        case 'D':        case 'F': puts("Suspendido");        break;        default:             puts("No es posible esta nota");    }    puts("\nFinal del programa");    getch();}

char opera;int  e,c,resultado;void main (void){ clrscr(); gotoxy(5,5); printf("Escoge alguno de los siguientes operadores:"); gotoxy(20,10); printf("OPERADOR                 FUNCION"); gotoxy(24,12); printf("+                     SUMA  "); gotoxy(24,14); printf("-                     RESTA "); gotoxy(24,16); printf("*                     MULTIPLICA  "); gotoxy(24,18); printf("/                     DIVIDE "); gotoxy(24,20); printf("%                     RESIDUO  "); gotoxy(40,24); scanf("%c",&opera); gotoxy(15,30); printf("Proporciona dos numeros:  "); scanf("%d %d",&c,&e); clrscr(); switch(opera) {  case '+':     resultado= c+e;      gotoxy(15,25);      printf("La suma es: %d",resultado);      break;  case '-':      resultado= c-e;      gotoxy(15,25);      printf("La resta es: %d",resultado);      break;  case '*':      resultado= c*e;      gotoxy(15,25);      printf("La multiplicacion es: %d",resultado);      break;  case '/':      resultado= c/e;      gotoxy(15,25);      printf("La divisi¢n es: %d",resultado);      break;  case '%':      resultado= c%e;      gotoxy(15,25);      printf("El resto es : %d",resultado);      break;    default:     gotoxy(20,25);     printf("ERROR, NO SE PUEDE REALIZAR NINGUNA OPERACION"); } getch();} 

4.     Programa que calcula el descuento de un cliente dependiendo de la bolita que obtenga aleatoriamente.

int c;float tc,pf;void main (void){ clrscr(); randomize();     /* Inicializa el generador de números pseudoaleatorios. Impide que se repitan las mismas                                                                   secuencias de  números aleatorios en  diferentes ejecuciones. */ printf("Proporciona el total de la compra: $"); scanf("%f",&tc); c=rand()%4;     // Genera un número (entero) pseudoaleatorio en el rango de 0 a  215. printf("El color de tu bolita es:"); switch(c) {  case 0:      printf ("BLANCA");      printf("Descuento del 0%");      pf=tc-(tc*0.0);    break;   case 1:    printf ("ROJA");    printf("Descuento del 50%");    pf=tc-(tc*0.5);  break;   case 2:    printf ("VERDE");    printf("Descuento del 30%");    pf=tc-(tc*0.3);  break;   case 3:   printf ("AZUL");   printf("Descuento del 15%");    pf=tc-(tc*0.15);  break;   default:    printf ("ERROR NO EXISTE BOLITA PARA DESCUENTO"); } printf("El Total a pagar es: $%.2f",pf); getch();}

introduccion

Ejemplos

Ejemplos3

ejemplos2

Ejemplos4

Show full summary Hide full summary

0 comments

There are no comments, be the first and leave one below:

Similar

Test PYTHON
peralesmagana
Mis Recursos de Programación
maya velasquez
FUNDAMENTOS DE REDES DE COMPUTADORAS
anhita
Mapa Conceptual de la arquitectura de base de datos
Alan Alvarado
Abreviaciones comunes en programación web
Diego Santos
codigos QR
Cristina Padilla
Linux - Unidad 08 Examen (Español)
Manuel Lustres
Test de Programacion Básica
Carlos Santillan
Editor Dibujo Paint
gladiscj
Prueba de evaluación de conocimientos SQL
Novaquality