Estructura Condicional Multiple Code Block 2014

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 25

Estructuras

Condicionales Múltiple
(switch)
Prof. Oscar Tinoco G.
ESTRUCTURAS SELECTIVAS MÚLTIPLES
Diagrama de Flujo Diagrama N - S Pseudocódigo

Según sea condición hacer


Condición Sentencias 1
Condición v1 v2 v3 sino Sentencias 2
Sentencias 3
Sent Sent Sent Sent Sino
1 2 3 n Sentencias n

sentenc sentenc sentenc


1 2 n
Estructura Condicional Múltiple
(switch)
Permite definir en una sola estructura, una serie.
De pares (condición, acción), con condiciones.
mutuamente excluyentes.
Muy utilizada en la construcción de menús.
Estructura Condicional Múltiple
(switch)

• <expresión> es un expresión entera.


• <constante1> ó <constante2> es un literal tipo
entero o tipo carácter.
• switch sólo comprueba la igualdad.
• No debe haber dos casos (case) con la misma
<constante> en el mismo switch. Si esto ocurre,
sólo 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 ningún
otro. Se suele colocar como el último de los casos.
Ejemplo de Switch
#include <iostream>
using namespace std;
int main(){
Programa para leer un int dia;
número de día (1 – cout << "teclee el número del día: ";
cin >> dia;
lunes,… 7 – domingo) switch(dia){
case 1:cout << "Lunes" << endl;break;
case 2:cout << "Martes" << endl;break;
case 3:cout << "Miércoles" << endl;break;
OJO: PONER break case 4:cout << "Jueves" << endl;break;
AL FINAL DE case 5:cout << "Viernes" << endl;break;
CADA OPCIÓN EN case 6:cout << "Sabado" << endl;break;
case 7:cout << "Domingo" << endl;break;
LA SENTENCIA default: cout << "día no válido" << endl;
SWITCH. }
return 0;
}
Ejemplo de Menú con switch
#include <iostream>
using namesapace std;
main(){
int a;
cout << "\t\tMenu";
cout <<"\n-----------------------------------";
cout <<"\n1 - Microsoft Office";
Se elige entre varias opciones cout <<"\n2 – SPSS ";
de un menú cout <<"\n3 – AutoCAD ";
cout <<"\n4 – Dev C++ ";
1 - Microsoft Office"; cout <<"\n-----------------------------------";
2 – SPSS "; cout <<"\nIngrese numero de su preferencia: ";
cin >> a;
3 – AutoCAD Diseño Ingenieria";
4 – Dev C++ Lenguaje switch (a){
Programacion"; case 1:
cout <<“\Programa de uso en oficina\n";break;
case 2:
Cada opción despliega un
cout <<"\ Programa Estadistica \n";break;
mensaje diferente case 3:
cout <<"\ Diseño Ingenieria \n";break;
case 4:
cout <<"\ Lenguaje de Programacion re\
n";break;
default: cout <<"\nEntrada incorrecta\n";
Ejercicio Propuesto switch
(empleados)
Calcular el sueldo mensual de un empleado que trabaja por
horas, el pago de cada hora trabajada depende de su
categoría:

categoria     pago x hora
A               26.90
B               24.30
C               21.50
D 18.50

Además si el empleado trabaja mas de 150 horas mensuales


tiene una bonificación del 5 % de sueldo.
Otro Ejemplo con switch
A los estudiantes de un grupo de programas se les dice que su nota
definitiva será calculada a partir de cuatro notas parciales que tendrán
los siguientes valores:
25% cada una si todas son aprobadas;
Si la primera se pierde y las otras se ganan, la primera valdrá 10% y
las otras 30% c/u;
Si las dos primeras se pierden y las dos últimas se ganan, las dos
primeras valdrán 20% c/u y las dos últimas valdrán 30% c/u;
En cualquier otro caso las dos primeras tendrán un valor de 30% c/u y
las otras dos 20% c/u.
A usted se le pide que elabore un programa que permita a uno
cualquiera de los estudiantes calcular su nota definitiva.
#include <iostream>
using namespace std;
main() {
int a,b,c, d, op; float promedio;
cout<<"Menu de Opciones\n";
cout<<"1: Las cuatro aprobadas\n";
cout<<"2: La primera desaprueba, el resto aprobadas\n";
cout<<"3: Las dos primeras desaprobadas y el resto aprobadas\n";
cout<<"4: En cualquier otro caso\n";
cout<<"Ingrese las cuatro notas"<<endl;
cin>>a>>b>>c>>d;
if((a>=0)&(a<=20)
&(b>=0)&(b<=20)&(c>=0)&(c<=20)&(d>=0)&(d<=20))
{
if(a>10 and b>10 and c>10 and d>10)
op = 1;
else if(a<=10 and b>10 and c>10 and d>10)
op = 2;
switch(op)
{
case 1:
cout<<"opcion "<<op<<endl;
promedio=0.25*(a+b+c+d);
break;
case 2:
cout<<"opcion "<<op<<endl;
promedio=0.10*a + 0.3*(b+c+d);
break;
case 3:
cout<<"opcion "<<op<<endl;
promedio=0.2*(a+b)+0.30*(c+d);
break;
default:
cout<<"opcion "<<op<<endl;
promedio=0.3*(a+b)+0.20*(c+d);
};
Una empresa textil desea otorgar un bono a sus empleados,
según sus años 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
categoría a la que pertenece.

Categoría (según años de servicio) Porcentaje


(1) De 0 a 5 años 12%
(2) De 6 a 10 años 15%
(3) De 11 a 15 años 17%
(4) Más de 15 años 22%
Inicio
opcion es entero
sueldo es real
Leer sueldo y opcion
opción

opcion = 1 opcion = 2 opcion = 3 opcion = 4 otro


El bono es: El bono es: El bono es: El bono es: Mostrar
sueldo*12% sueldo*15% sueldo*17% sueldo*22% Incorrecto
Fin
#include <iostream.h> switch(opcion)
main() {
{ case 1:
int opcion; cout << "Bono: "<< sueldo*0.12<<endl;
break;
float sueldo;
case 2:
cout << " Opciones de bonificacion" <<endl; cout << "Bono: "<< sueldo*0.15<<endl;
cout << " (1) 12% sobre el sueldo\n"; break;
cout << " (2) 15% sobre el sueldo\n"; case 3:
cout << " (3) 17% sobre el sueldo\n"; cout << "Bono: "<< sueldo*1.17<<endl;
cout << " (4) 22% sobre el sueldo\n"; break;
cout << "Ingrese monto del sueldo\n"; case 4:
cin >> sueldo; cout << "Bono: "<< sueldo*0.22<<endl;
cout << " Ingrese una opcion "; break;
default:
cin >> opcion;
cout << "Opcion incorrecta\n"; ;
break;
}
system(“pause”);
}
#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 rando";
break; }
case '-': cout << operando1 - operando2; system("PAUSE");
break; }
case '*': cout << operando1 * operando2;
break;
case '/': cout << operando1 / operando2;
break;
* continua
Ejemplo
Ejemplo
Enunciados Break y Continue.
• La instrucción break interrumpe la
ejecución 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;
}
Una empresa maneja códigos numéricos con las siguientes
características:
Suponga que la siguiente tabla clasifica las personas de
acuerdo a su edad:

Edad Categoría
Menor o igual a 12 años, Niño
Mayor a 12 y menor a 30 Joven
años,
Mayor o igual a 30 y menor o Adulto
igual a 60 años,
Mayor a 60 años, Longevo
Escriba un programa en C++ que le solicite al usuario la edad
en años y presente como resultado el valor capturado y la
categoría.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy