Sei sulla pagina 1di 8

DESARROLLO DE PROGRAMA EN C++, APLICANDO EL CONCEPTO DEL

ESTATUTO SWTCH









CARLOS ORLANDO GOMEZ BARAJAS








ESTRUCTURAS DEL LENGUAJE DE PROGRAMACION C++ (NIVEL I)

FABER HERNAN ARISTIZABAL GOMEZ















SENA CAMPUS VIRTUAL
BOGOTA COLOMBIA 2014










ACTIVIDAD COLABORATIVA

Programa: Programacin Orientada a Objetos con el Lenguaje C++
Curso: Lenguaje de Programacin C++ Nivel I
Unidad didctica: Condiciones
Nombre de la actividad: Desarrollo de programa en C++, aplicando el concepto
de estatuto switch


Objetivo especfico de aprendizaje
Analizar el material de apoyo para entender la estructura, la sintaxis y el funcionamiento
del Estatuto switch.

Duracin de la actividad Producto a entregar Forma de entrega
4 horas El participante
entregar el programa
fuente y el programa
ejecutable en sus
formatos generados,
considerando las
caractersticas de la
estructura del
programa, el proceso
de compilacin y el
reporte de salida.
Participacin en el foro
de discusin.

El conocimiento y la
habilidad lograda le
permiten al participante
desarrollar programas
en lenguaje C++,
aplicando el estatuto
switch.
A travs de la plataforma en
el apartado del Buzn de
transferencia digital.
Entregar los archivos que
te genera el compilador:
Nombre.CPP
Nombre.EXE

Participacin en el foro de
discusin de acuerdo a lo
siguiente:
Aportacin del
participante.

Complemento a la
respuesta de un
compaero del grupo.


Actividad previa Recursos de apoyo
Estudiar los conceptos descritos en el
material de apoyo.
Revisar la explicacin de los temas que se
Material de apoyo: Tema 3. Estatuto
switch.
encuentra en la presentacin


ACTIVIDAD COLABORATIVA

Programa: Programacin Orientada a Objetos con el Lenguaje C++
Curso: Lenguaje de Programacin C++ Nivel I
Unidad didctica: Condiciones
Nombre de la actividad: Desarrollo de programa en C++, aplicando el concepto
de estatuto switch


Descripcin de la actividad
Resuelve los siguientes problemas en C++:
1. En la clase de aritmtica de la escuela secundaria tcnica No. 35, el maestro les
solicita al departamento de sistemas que se le desarrolle un programa que pida al
usuario un nmero entero decimal entre 1 y 99, incluyendo los extremos y
obtenga la correspondiente representacin en el sistema romano y su decimal,
con el objetivo de poder explicar mediante el programa visualmente el sistema de
conversin a sus alumnos. El programa mostrar en pantalla el nmero decimal y
su conversin el el sistema romano.

2. La empresa comercializadora Solva vende escobas, recogedores y
aromatizantes, clasifica a sus clientes de a acuerdo a la frecuencia de compras
con las condiciones siguientes:
Si el cliente es de la categora 1 se le descuenta el 5%
Si el cliente es de la categora 2 se le descuenta el 8%
Si el cliente de de la categora 3 se le descuenta el 12%
Si el cliente es de la categora 4 se le descuenta el 15%

Cuando el cliente realiza una compra se generan los siguientes datos:

Nombre del cliente
Tipo de cliente
Cantidad comprada de escobas, recogedores y aromatizantes

Desarrollar un programa en C++ que lea estos datos y calcule y muestre en
pantalla:

Nombre del cliente
Subtotal a pagar
Descuento
Total a pagar.

Coloca una aportacin en el que describa la respuesta considerando lo siguiente:

a) Que ventajas tiene utilizar el switch en lugar de if anidados.
b) Lea la participacin de sus compaeros y complemente una de ellas
colocando cualquiera de las siguientes aportaciones.

Complemente alguna de las respuestas, agregando una
continuacin que no ha sido mencionada.
Haga una correccin a la aportacin si considera que lo comentado
no es verdadero.
En cualquiera de los casos, coloque la referencia o la fuente en la
que se basa para hacer su comentario.



SOLUCION
1. En la clase de aritmtica de la escuela secundaria tcnica No. 35, el
maestro les solicita al departamento de sistemas que se le desarrolle un
programa que pida al usuario un nmero entero decimal entre 1 y 99,
incluyendo los extremos y obtenga la correspondiente representacin en el
sistema romano y su decimal, con el objetivo de poder explicar mediante el
programa visualmente el sistema de conversin a sus alumnos. El
programa mostrar en pantalla el nmero decimal y su conversin el el
sistema romano.



#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
using namespace std;

int main(){
int n, modulo, decena;
cout << "Ingrese un numero entre 0 y 99: \n";
cin >> n;
while ((n<1)||(n>99))
{
system ("cls");
cout << "Ingrese un numero entre 0 y 99: \n";
cin >> n;
}
modulo = n%10;
decena = n/10;

cout << "El El numero " << n << " en romano es: ";
switch (decena)
{
case 0: cout << ""; break;
case 1: cout << "X"; break;
case 2: cout << "XX"; break;
case 3: cout << "XXX"; break;
case 4: cout << "XL"; break;
case 5: cout << "L"; break;
case 6: cout << "LX"; break;
case 7: cout << "LXX"; break;
case 8: cout << "LXXX"; break;
case 9: cout << "XC"; break;
}
switch (modulo)
{
case 0: cout << "\n"; break;
case 1: cout << "I\n"; break;
case 2: cout << "II\n"; break;
case 3: cout << "III\n"; break;
case 4: cout << "IV\n"; break;
case 5: cout << "V\n"; break;
case 6: cout << "VI\n"; break;
case 7: cout << "VII\n"; break;
case 8: cout << "VIII\n"; break;
case 9: cout << "IX\n"; break;
}
cout << "\n";
system("pause");
getch();
return 0;
}



2. La empresa comercializadora Solva vende escobas, recogedores y
aromatizantes, clasifica a sus clientes de a acuerdo a la frecuencia de
compras con las condiciones siguientes:
Si el cliente es de la categora 1 se le descuenta el 5%
Si el cliente es de la categora 2 se le descuenta el 8%
Si el cliente de de la categora 3 se le descuenta el 12%
Si el cliente es de la categora 4 se le descuenta el 15%

Cuando el cliente realiza una compra se generan los siguientes datos:

Nombre del cliente
Tipo de cliente
Cantidad comprada de escobas, recogedores y aromatizantes

Desarrollar un programa en C++ que lea estos datos y calcule y muestre en
pantalla:

Nombre del cliente
Subtotal a pagar
Descuento
Total a pagar.


# include <conio.h>
# include <iostream.h>
# include <cstdlib>
#include <stdio.h>

using namespace std;

int main ()
{

char usuario [50];
int e1,r1,a1,p1,p2,p3,categoria;
long int total1;
float porcentaje, total2;

cout << "Cliente" <<endl;
cin >> usuario;
cout << "Cantidad de escobas: ";
cin >> e1;
cout << "Precio por unidad de escobas: ";
cin >> p1;
cout << "Cantidad de recogedores: ";
cin >> r1;
cout << "Precio por unidad de recogedores: ";
cin >> p2;
cout << "Cantidad de aromatizantes: ";
cin >> a1;
cout << "Precio por unidad de los aromatizantes: ";
cin >> p3;
cout << "Dgite la categora del cliente <del 1 al 4>: ";
cin >> categoria;

total1=e1*p1 + r1*p2 + a1*p3;
switch(categoria)
{
case 1: porcentaje=total1*0.05; break;
case 2: porcentaje=total1*0.08; break;
case 3: porcentaje=total1*0.12; break;
case 4: porcentaje=total1*0.15; break;
}
total2 = total1 - porcentaje;

cout << "\n";
cout << "Nombre del cliente :" << usuario << "\n";
cout << "Subtotal :" << total1 <<"\n";
cout << "Descuento :" << porcentaje <<"\n";
cout << "Total :" << total2 <<"\n";
cout << "\n";
system("pause");
getch ();
return 0;
}


Coloca una aportacin en el que describa la respuesta considerando lo
siguiente:

a) Que ventajas tiene utilizar el switch en lugar de if anidados.

El switch queda mucho ms elegante en el cdigo, si trata de hacer elecciones de
una variable, que varios if anidados. Su funcionamiento final es el mismo, pero el
switch la verdad es que simplifica bastante el cdigo. Con los if anidados, te
puedes acabar dejando algn parntesis o una llave sin cerrar y dar problemas de
compilacin que no hay

b) Lea la participacin de sus compaeros y complemente una de ellas
colocando cualquiera de las siguientes aportaciones.

El switch queda mucho ms elegante en el cdigo, si trata de hacer
elecciones de una variable, que varios if anidados. Su funcionamiento
final es el mismo, pero el switch la verdad es que simplifica bastante el
cdigo. Con los if anidados, te puedes acabar dejando algn parntesis
o una llave sin cerrar y dar problemas de compilacin que no hay
narices a resolver al haber tantas sentencias if. VENTAJA principal del
SWITCH con respecto al IF es SIMPLICIDAD.

.
Aporte
El switch es una especie de abreviacin de los if anidados con el se puede hacer
la misma funcin y ahorran tiempo


Bibliografa
Abrahams, David; Gurtovoy, Aleksey. C++ Template Metaprogramming:
Concepts, Tools, and Techniques from Boost and Beyond. Addison-
Wesley. ISBN 0-321-22725-5.
Alexandrescu, Andrei (2001). Modern C++ Design: Generic Programming and
Design Patterns Applied. Addison-Wesley. ISBN 0-201-70431-5.
Alexandrescu, Andrei; Sutter, Herb (2004). C++ Design and Coding Standards:
Rules and Guidelines for Writing Programs. Addison-Wesley. ISBN 0-321-
11358-6.
Becker, Pete (2006). The C++ Standard Library Extensions : A Tutorial and
Reference. Addison-Wesley. ISBN 0-321-41299-0.
Brokken, Frank (2010). C++ Annotations. University of Groningen. ISBN 90-
367-0470-7.
Coplien, James O. (1992, reprinted with corrections 1994). Advanced C++:
Programming Styles and Idioms. ISBN 0-201-54855-0.
Dewhurst, Stephen C. (2005). C++ Common Knowledge: Essential
Intermediate Programming. Addison-Wesley. ISBN 0-321-32192-8.
Information Technology Industry Council (15 October 2003). Programming
languages C++(Second ed.). Geneva: ISO/IEC. 14882:2003(E).
Josuttis, Nicolai M. (2012). The C++ Standard Library, A Tutorial and
Reference (Second ed.). Addison-Wesley. ISBN 0-321-62321-5.