Anda di halaman 1dari 13

Estructuras

Condicionales Mltiple
(switch)
Prof. Oscar Tinoco G.

ESTRUCTURAS SELECTIVAS MLTIPLES


Diagrama de Flujo

Diagrama N - S

v1

Condicin

Condicin
v2
v3 sino

Sent Sent
1
2
sentenc
1

sentenc
2

sentenc
n

Pseudocdigo

Sent
3

Sent
n

Segn sea condicin hacer


Sentencias 1
Sentencias 2
Sentencias 3
Sino
Sentencias n

Estructura Condicional Mltiple


(switch)
Permite definir en una sola estructura, una serie.
De pares (condicin, accin), con condiciones.
mutuamente excluyentes.
Muy utilizada en la construccin de mens.

Estructura Condicional Mltiple


(switch)
<expresin> es un expresin entera.
<constante1> <constante2> es un literal tipo
entero o tipo carcter.
switch slo comprueba la igualdad.
No debe haber dos casos (case) con la misma
<constante> en el mismo switch. Si esto ocurre,
slo se ejecutan las sentencias correspondientes al
caso que aparezca primero.
El identificador especial default permite incluir un caso
por defecto, que se ejecutar si no se cumple ningn
otro. Se suele colocar como el ltimo de los casos.

Una empresa textil desea otorgar un bono a sus empleados,


segn sus aos de servicios, conforme a la tabla siguiente, el
bono ser un porcentaje respecto a su sueldo mensual.
Elaborar un programa que permite obtener el bono de un
empleado luego que se ingresa el monto de su sueldo y la
categora a la que pertenece.

#include <iostream>
using namespace std;
main()
{
int opcion;
float sueldo;
cout << " Opciones de bonificacion" <<endl;
cout << " (1) 12% sobre el sueldo\n";
cout << " (2) 15% sobre el sueldo\n";
cout << " (3) 17% sobre el sueldo\n";
cout << " (4) 22% sobre el sueldo\n";
cout << "Ingrese monto del sueldo\n";
cin >> sueldo;
cout << " Ingrese una opcion ";
cin >> opcion;

switch(opcion)
{
case 1:
cout << "Bono: "<< sueldo*0.12<<endl;
break;
case 2:
cout << "Bono: "<< sueldo*0.15<<endl;
break;
case 3:
cout << "Bono: "<< sueldo*0.17<<endl;
break;
case 4:
cout << "Bono: "<< sueldo*0.22<<endl;
break;
default:
cout << "Opcion incorrecta\n";
;
break;
}
return 0;
}

#include <iostream>
#include <cmath>
using namespace std;
main()
{ int operando1, operando2;
char operador;
cout << " Introduzca dos numeros enteros ";
cin >> operando1 >> operando2;
cout << " Introduzca operador + - * / % ";
cin >> operador;
switch(operador)
case '%': cout << operando1 % operando2;
{
break;
case '+': cout << operando1 + operando2;
default: cout << " fuera de rango";
break;
}
case '-': cout << operando1 - operando2;
return 0;
break;
}
case '*': cout << operando1 * operando2;
break;
case '/': cout << operando1 / operando2;
break;
//* continua

Ejemplo

Ejemplo

Enunciados Break y Continue.


La instruccin break interrumpe la
ejecucin del bucle donde se ha incluido,
haciendo al programa salir de l aunque la
expresion_de_control correspondiente a
ese bucle sea verdadera.
La sentencia continue hace que el programa
comience el siguiente ciclo del bucle donde
se halla, aunque no haya llegado al final de
las sentencia compuesta o bloque.

#include <iostream>
using namespace std;
main()
{
char letra;
cout<<"Ingrese letra"<<endl;
cin>>letra;
switch (letra) {
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
case 'u': case 'U':
cout<<"Es vocal"<<endl;
break;
default:
cout<<"No es vocal"<<endl;
}
return 0;
}

Suponga que la siguiente tabla clasifica las personas de


acuerdo a su edad:

Escriba un programa en C++ que le solicite al usuario la edad


en aos y presente como resultado el valor capturado y la
categora.

Anda mungkin juga menyukai