switch case

6

Click here to load reader

Upload: wary-flore-duenas

Post on 03-Jul-2015

452 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

GUIA DE PRÁCTICAS ESTRUCTURA SWITCH – CASE

Objetivos:

Aplicar la estructura Switch – Case en problemas prácticos.

Procedimientos:

I. Verificar errores de sintaxis y semántica 1) El programa simula una calculador simple que pide el ingreso de dos valores y que se

seleccione la operación a realizar por ejemplo: Digite el primer valor: 5 Digite el segundo valor: 4 Que operación desea realizar:

1. Adición 2. Sustracción 3. Multiplicación 4. División => 2 5 – 4 = 1 /* Código Fuente */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a, b, c; cout <<"Digite el primer valor: "; cin >> a; cin.ignore (); cout <<"Digite el segundo valor: "; cin >> b; cin.ignore (); cout <<"Que operacion desea realizar?\n\n \t. Adicion\t2.Sustraccion\t.Multiplicacion\t4.Division\n\n=>"; cin >> operacion; cin.ignore (); system ("clear"); switch (operacion){ case 1 c=a+b; cout <<a " + "<<b<<" = "<<c<<"\n\n"; break; case 2

Page 2: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

c=a-b; cout <<a<<" - "<<b<<" = "<<c<<"\n\n"; break; case 3 c=a*b; cout <<a<<" * "<<b<<" = "<<c<<"\n\n"; break; case 4 c=a/b; cout <<a<<" / "<<b<<" = "<<c<<"\n\n"; break; } system("PAUSE"); return EXIT_SUCCESS; }

2) Programa que halla el área, base o altura de un triángulo, según los datos requeridos, por ejemplo:

/* Código Fuente */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int opera; printf("EJERCICIOS DE LOS TRIANGULOS ........ /n"); printf("============================ \n\n\n"); printf("1) para calcular el area de un triangulo \n"); printf("\t2) para calcular la base \n");

Page 3: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

printf("3) para calcular la altura \n\n"); printf("ingrese una opcion ........ "); scanf("%f",&operacion); switch(operacion) { float area, altura, base; case A: printf("\nAREA DEL TRIANGULO \n"); printf("ingrese la base ........ "); scanf("%d",&base); printf("ingrese la altura ........ "); scanf("%d",&altura); printf("el area del triangulo es %d ",base*altura/2); break; case 2: printf("\nBASE DE UN TRIANGULO \n"); printf("ingrese el area ........ "); scanf("%d",&area); printf("ingrese la altura ........ "); scanf("%d",&altura); printf("la base de area del triangulo es %d ",2*area/altura); break; case 3: printf("\nALTURA DE UN TRIANGULO \n"); printf("ingrese el area ........ "); scanf("%d",&area); printf("ingrese la base ........ "); scanf("%d",&base); printf("la base de area del triangulo es %d ",2*area/base); break; default: printf(" nada mas ........ "); } system("PAUSE"); return EXIT_SUCCESS; }

Page 4: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

II. Completa el código para resolver el problema 3) Programa que convierte de números arábigos a números romanos menores a 4000.

#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int n, u, d, c, m; //para el número, unidades, decenas, centenas y millares (<4) cout<<" CONVERSION DE ARABIGOS A ROMANOS "; cout<<"\n\r -----------------------------"; cout<<"\n\r Ingrese un numero entre 0 y 3999 \n\r"; //complete la lectura de datos u=n%10; //para obtener las unidades del numero n=n/10; //por ser división entera obtiene el numero sin unidades

//completa para el caso de las decenas, centenas y millares

switch(m){ //para el caso de los miles menores a 4 mil case 1: cout<<"M"; break; case 2: cout<<"MM"; break; case 3: cout<<"MMM"; break; } switch(c){ case 1: cout<<"C"; break;

//completa para el caso 2, 3, 4 ..y 8 case 9: cout<<"CM"; break; } switch(d){

//completa para el caso de las decenas

Page 5: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

} switch(u){ case 1: cout<<"I"; break; case 2: cout<<"II"; break; case 3: cout<<"III"; break; case 4: cout<<"IV"; break; case 5: cout<<"V"; break; case 6: cout<<"VI"; break; case 7: cout<<"VII"; break; case 8: cout<<"VIII"; break; case 9: cout<<"IX"; break; } system("PAUSE"); return EXIT_SUCCESS; }

III. Resuelve los problemas

4) Programa que indica el signo del zodiaco chino al que corresponde una fecha determinada.

5) Elaborar un programa que lea una letra mayúscula e imprima la letra y si ésta es recta (A,E,F,H,I,K,L,M,N,T,V,W,X,Y,Z), es curva (C,O,S,U,Q) o curva y recta (B,D,G,J,P,R).

6) En el juego para dos personas llamado "ROCA, PAPEL Y TIJERAS" cada jugador escoge ser "T", "R" o "P" respectivamente. El jugador se determina así: roca rompe tijeras, las tijeras cortan el papel, el papel cubre la roca, el juego es un empate si ambos jugadores eligen la misma opcion. Elaborar un programa para que determine cual jugador gana, la salida debe mostrarse de la siguiente forma: "T-R Roca rompe tijeras gana el jugador 2".

7) Una empresa desea calcular la productividad de un mes dado, esta se calcula como sigue:

Enero, Febrero y Marzo tienen factor 15 Abril, Mayo y Junio tienen factor 17 Septiembre, Octubre y Noviembre tienen factor 20 Diciembre tiene factor 21 Se pide elaborar un programa que permita solicitar al usuario un mes cualquiera y se calcule la productividad si se sabe que ésta es igual al número de artículos producidos en el mes multiplicado por el factor del mes que corresponda al mes proporcionado. Se conoce la cantidad de artículos producidos y el mes.

Page 6: Switch Case

Fundamentos de Programación Ing. M.Sc. Edelfré Flores Velásquez

8) Se conocen las calificaciones (A,B,C,D,E) y el número de créditos que corresponde a cada una de los 2 cursos que toma el alumno Juan Pérez. Elaborar un programa que calcule el promedio de las calificaciones de este alumno donde A vale 4 puntos, B = 3, C = 2, D = 1 y E = 0. Así la contribución de una A en un curso de 3 créditos es 4*3 =12, mientras que la contribución de una C en un curso de 4 créditos es 2*4=8.

9) Una empresa clasifica a sus empleados en dos grupos de empleados, los del grupo 1 son aquellos que laboran dentro de la misma y desea darles un aumento de sueldo siguiendo el siguiente criterio: si el empleado trabajó más de 40 horas, su sueldo será incrementado en $50.00, si el empleado es mujer o es mayor de 25 años y tiene en la empresa más de 30 años su sueldo se incrementará en $800.00 y si no cumple con estas condiciones solo se incrementa en $100.00 (esto último es independiente de las horas trabajadas), Para los empleados del grupo 2 (los que aspiran a ingresar a la empresa)si es mayor de 18 años y tiene más de 85 puntos en una prueba presentada entonces será contratado. Elaborar un programa para determinar el sueldo en el caso de los empleados del grupo 1 y si será o no contratado en el caso de los del grupo 2.

10) Programa que escriba un número en letras, en un rango determinado de números.