Dev-C++, clase13 – ejercicios de aplicacion V

Hola a todos/as,

En la clase anterior vimos el manejo de la instrucción selectiva multiple: » switch – case «, y pues ahora vamos a realizar unos ejercicios para que quede más claro y llenar algun vacio que les haya quedado con respecto a ésta selectiva. Vamos a ello:

17.) Hacer un programa que simule una encuesta de vestimenta, hacer la encuesta a N personas segun la cantidad que haya en la sala. Y ademas mostrar el promedio de » cuantas personas usan tales articulos de vestimenta «.

Por favor antes de ver ésta entrada recomiendo ver la entrada:

Uso de la aplicacion

Bien éste ejemplo que acabo de proponer, servirá para volver a aplicar el uso del » switch » , con el fin de evaluar a manera de encuesta: » Tus prendas mas comunes » y para ello debemos:

1) saber cuantas personas hay en la sala ( es decir, a cuentos se le hará la encuesta )

2) proponer una menú con las opciones

3) evaluar dichas opciones

4) mostrar el promedio

Entonces, manos a la obra!

ATENCION: en las clases anteriores he explicado las lineas y que hace cada una, entonces les sugiero que vean las entradas anteriores para entender las lineas de las que no voy a hacer mucha enfasis.

Las lineas que ya hayamos visto, les colocaré ” *** “  al final para que sepan que ya lo hemos visto con anterioridad ( entiendase como “anterioridad” a la/las clases anteriores ademas de sus correspondientes entradas en la seccion “General” del mapa de sitio ).

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

main()
{
int N, c1=0, c2=0, c3=0, x, camis;
cout << «\n – Tus prendas mas comunes – \n»
<< «\n A cuantas personas desea realizar la encuesta ? «;
cin  >> N;
if ( N <= 0 )
{
cout << «\n Fin de la aplicacion.»;
getch();
}
else
{
cout << «\n — Menu –\n»
<< «\n * Camisas: \n»
<< » 1- elegante \n»
<< » 2- deportiva \n»
<< » 3- otra \n»;
for ( x=1; x<=N; x++ )
{
cout << «\n Usuario #» << x << «:»;
// Aqui vamos con las camisas:
do
{
cout << «\n Digite su opcion en: Camisas. \n»;
cin  >> camis;
switch ( camis )
{
case 1: c1++; break;
case 2: c2++; break;
case 3: c3++; break;
default : cout << «\n Error! \n»;
}
}
while ( camis > 3 || camis < 1 );
}
cout << «\n El promedio de la encuesta dice que: \n»
<< » * Camisas: \n»
<< c1 << » usa elegante \n»
<< c2 << » usa deportiva \n»
<< c3 << » usa otra \n»;
getch();
}
}

– linea 1 – 2: la cabecera y libreria ***

– linea 3: funcion principal ***

– linea 4 – 46: inicio y fin del programa ***

– linea 5: declaramos variables ***

– linea 6 – 7: recurso ” cout ” ***

– linea 8: recurso ” cin ” ***

– linea 9 – 14: instruccion selectiva doble: ” if – else ” ***

En la linea 9, he puesto una condicion que podria darse, y es que:

¿ Qué pasa si el usuario ingresa un numero menor a «1» ?

Si eso pasara el programa NO deberia avanzar, puesto a que le estamos preguntando al usuario: ¿ Cuánta gente hay en la sala ? y si no hay nadie, osea cero ( 0 ); el programa no deberia continuar porque no hay nadie a quien hacerle la encuesta, peor aun si por «error» ingresa un numero negativo. Entonces para evitar esos posibles inconvenientes hacemos una condicion como la que estan viendo, donde decimos que:

if ( N < 1 )

{

mensaje de salida…

}

else

{

acciones…

}

Si el número de gente en la sala es menor a «uno» , entonces el programa finaliza.

Caso contrario, si hará la accion porque ha habido por lo menos una persona en la sala a la que se le puede hacer la encuesta 😉

– linea 10 – 13: inicio y fin del » if » ***

– linea 11: recurso » cout » ***

– linea 12: pausando el programa ***

– linea 15 – 45: inicio fin del » else » ***

– linea 16 – 20: recurso ” cout ” ***

– linea 21: instruccion repetitiva: » for » ***

Aqui le decimos al programa que, como hay N personas en la sala; deberá hacer la encuesta N veces 😉

– linea 22 – 38: inicio y fin del » for » ***

– linea 23: recurso » cout » ***

– linea 24: comentario ***

Desde aqui vamos a hacer la evaluacion con el switch – case.

– linea 25 – 37: instrucion repetitiva: » do – while » ***

– linea 26 – 36: inicio y fin del » do – while » ***

Bueno, siempre se recomienda hacer un do – while antes del switch cuando se trata de seleccionar una opcion si ó si.

Y como podemos ver, el usuario debe ingresar una de las tres que estas expuestas:

1) elegante

2) deportiva

3) otra

Y si se le occurre ingresar algun otro numero que NO está entre las opciones, se le debe pedir denuevo el valor hasta que ingrese correctamente la opcion.

Entonces por eso, tenemos éste do – while, con el cual decimos:

Haga:

{ —–> inicio del » haga – mientras «

pide camis

ingresa camis

evalua ( camis )

{ —–> inicio del » evalua «

caso 1 …

caso 2 …

caso 3 …

otro caso : muestra: ERROR!

} —–> fin del » evalua «

}

mientras que ( camis sea menor a cero ó mayor a tres ) —–> fin del » haga – mientras «

Como podemos observar, eso hará que se pida una y otra vez camis, mientras sea menor a cero o mayor a 3, lo cual está correcto pues solo hay tres opciones: 1-2-3 y entonces no se pueden ingresar opciones menores a 1 ni mayores 3 porque simplemente no hay.

– linea 27: recurso ” cout ” ***

– linea 28: recurso ” cin ” ***

– linea 29: instruccion selectiva multiple: ” switch ”

Aqui vamos a evaluar la opcion que ingresó el usuaio/a, y esa opcion está guardada en la variable » camis «.

– linea 30 – 35: inicio y fin del » switch » ***

– linea 31 – 34: evaluando casos ***

En caso de que haya sido la:

opcion 1, entonces el contador «c1» se le aumentará una unidad.

opcion 2, entonces el contador «c2» se le aumentará una unidad.

opcion 3, entonces el contador «c3» se le aumentará una unidad.

Y cuando le toque al siguiente usuario, porque son N usuarios será de la misma manera, se aumentará en una unidad el contador dependiendo de la opcion que seleccionó.

– linea 39 – 43: recurso » cout » ***

Mostramos el promedio de lo que la gente más usa, de esta manera:

c1 ( tendrá el valor de todos los N usuarios que ingresaron la opcion 1 )

c2 ( tendrá el valor de todos los N usuarios que ingresaron la opcion 1 )

c3 ( tendrá el valor de todos los N usuarios que ingresaron la opcion 1 )

– linea 44: pausando el programa ***

18.) Hacer un programa que haga una operacion con dos numeros ingresados por el usuario, a manera de calculadora con las operaciones basicas: suma,resta,division,multiplicacion.

Bien, lo que debemos hacer primero es asi mismo un menú para que el usuario eliga una de las opciones que nos dice el enunciado del ejercicios, es decir: » suma,resta,multiplicacion,division «.

Luego pedimos los numeros y dependiendo de que caso haya seleccionado el usuario/a, hará dicha operacion. Vamos a ello:

ATENCION: en las clases anteriores he explicado las lineas y que hace cada una, entonces les sugiero que vean las entradas anteriores para entender las lineas de las que no voy a hacer mucha enfasis.

Las lineas que ya hayamos visto, les colocaré ” *** “  al final para que sepan que ya lo hemos visto con anterioridad ( entiendase como “anterioridad” a la/las clases anteriores ademas de sus correspondientes entradas en la seccion “General” del mapa de sitio ).

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

main()
{
char op;
int n1, n2, resp;
cout << » Ingrese primer numero: \n»;
cin  >> n1;
cout << » Ingrese segundo numero: \n»;
cin  >> n2;
cout << » Operaciones: \n »
<< » A) suma \n «
<< » B) resta \n «
<< » C) multiplicacion \n «
<< « D) division \n «
<< » Escoja una opcion: «;
cin  >> op;
switch ( op )
{
case ‘A’: resp = n1 + n2; cout << «respuesta = « << resp; break;
case ‘B’: resp = n1 – n2; cout << «respuesta = « << resp; break;
case ‘C’: resp = n1 * n2; cout << «respuesta = » << resp; break;
case ‘D’: resp = n1 / n2; cout << «respuesta = » << resp; break;
default: cout << «Error!»;
}
getch();
}

– linea 1 – 2: la cabecera y libreria ***

– linea 3: funcion principal ***

– linea 4 – 27: inicio y fin del programa ***

– linea 5: declaramos variables ***

– linea 6: recurso ” cout ” ***

– linea 7: recurso ” cout ” ***

– linea 8: recurso » cin » ***

– linea 9: recurso ” cout ” ***

– linea 10: recurso » cin » ***

– linea 11 – 16: recurso » cout » ***

– linea 17: recurso » cin » ***

– linea 18: instruccion selectiva multiple » switch » ***

Aqui vanmos a validar con un switch la variable » op » que es donde está la opcion que ingresó el usuario/a.

En caso de que haya sido diferente de A,B,C,D entonces mostrará un mensaje de error y saldrá del switch.

– linea 19 – 25: inicio y fin del switch ***

– linea 20: evaluando casos ***

En el primer caso, preguntamos si fué la opcion ( op ) igual a «A» y si era asi, pues sumará los numeros y mostrará la respuesta «resp».

– linea 21: evaluando casos ***

En el segundo caso, preguntamos si fué la opcion ( op ) igual a «B» y si era asi, pues sumará los numeros y mostrará la respuesta «resp».

– linea 22: evaluando casos ***

En el tercer caso, preguntamos si fué la opcion ( op ) igual a «C» y si era asi, pues sumará los numeros y mostrará la respuesta «resp».

– linea 23: evaluando casos ***

En el cuarto caso, preguntamos si fué la opcion ( op ) igual a «D» y si era asi, pues sumará los numeros y mostrará la respuesta «resp».

– linea 24: evaluando casos ***

Este es el «caso por defecto», y es que si el usuario/a ingresó alguna otra opcion que NO estaba en el menú, entonces hacemos que muestre un mensaje de error.

Luego saldrá del switch automaticamente, ya que por lo general el caso default es el ultimo en ejecutarse, y eso significa que ningun caso fue cumplido.

– linea 26: pausando el programa ***

Eso fue todo por ahora, espero les haya sido de ayuda. Cualquier duda/comentario/sugerencia.. la atenderé lo más pronto posible. Saludos!

2 respuestas

  1. Saludos de nuevo yo esperando respuesta

    Primero que nada te agredesco el compartir con todo el mundo tu conocimiento bueno mi pregunta es;

    como puedo hacer un cuestionario en C++ porque he estado buscando alguna manera de hacer uno pero pongo el switch y no acepta el ‘si’ o el ‘no’ y lo que he encontrado es que no se puede comprar en el switch las cadenas entonces trato con los if pero tampoco puedo porq entra a un if pero sale y me imprime los demas y entonces como le puedo hacer??

  2. hola, gracias de ante mano, y una pregunta, yo quiero hacer q mi programa no salga en la consola, en la ventana negra, sino en una ventana q sea dise#ada por mi…

Deja un comentario