02 - PA TAREA 03 - Fundamentos de Programación-1 Resuelto
02 - PA TAREA 03 - Fundamentos de Programación-1 Resuelto
02 - PA TAREA 03 - Fundamentos de Programación-1 Resuelto
1. Consideraciones:
Criterio Detalle
Tema o asunto Modularización de programas: función y procedimiento para la
creación de menú de opciones y librerías de programación.
Enunciado Lea detenidamente las indicaciones, elabora la siguiente actividad:
1. Elaborar el programa para: Usar Módulo de MENÚ, Módulo que Procesa, Módulo
Salir, Módulo Mostrar, Librería LecturaDatos.h, Validar con DO – WHILE y Contador-
Acumulador en:
1.1 Se tiene una empresa que desea controlar el almacén de dos sus productos; el
cual cuenta con un stock inicial (Ejem: 1000, 5000), del cual se puede:
- Ingresar el nombre del producto (Ejemplo: Caja_Colores, Papel_Bond_Millar)
- Actualizar el stock de los productos con una nueva cantidad, en cualquier
momento que el usuario lo requiera.
- Ingresar un pedido de uno o dos productos para un cliente, si no se cuenta con la
cantidad solicitada, se puede dejar de atender o se puede atender solo una
parte (la indicada por el cliente) o se puede atender todo siempre y cuando se
actualice el stock.
- Reportar:
a. La cantidad de veces que se actualizó el stock de cada producto.
b. La cantidad de clientes atendidos (solo si se completó todo el pedido).
c. La cantidad de pedidos que se completaron una parte.
d. La cantidad de pedidos incompletos (dejaron de atenderse).
e. El stock de unidades que queda de cada producto.
f. El total de unidades vendido de cada producto.
1.2 Se Ingresan los siguientes datos de estudiantes: genero (M o F), Estado Civil
(Casado: C, Soltero: S, Divorciado: D) y nota (0 <= nota <= 20) y que reporte
a. El número de hombres aprobados y mujeres aprobadas
b. El número de hombres casados aprobados y casados desaprobados.
c. El número mujeres solteras aprobadas.
d. El número de mujeres divorciadas.
e. El número total de desaprobados.
f. La nota promedio de las mujeres aprobadas.
g. La nota promedio de los hombres desaprobados.
Instrucciones Elabora el informe con lo solicitado (1): Imagen del código en C++ y de la
ejecución con el ingreso y reporte de datos, para los casos propuestos. (2)
para presentar Elabora el código fuente en C++ para los casos propuestos.
el archivo en el Guarda el archivo del informe y del código fuente de cada caso propuesto, en
una carpeta, lo comprimes ApellidoNombre y envíalo a través del ícono Enviar
aula virtual
Producto Académico No. 03, que encontrarás en tu aula virtual.
Revisa la rúbrica de evaluación en la que podrás conocer los aspectos que se
evaluarán en el producto que estás entregando.
Referencias Temas 01 y 02 de la unidad 03 del manual del curso, adjunto en el aula
para realizar la virtual del curso.
Joyanes Aguilar, Luis. Fundamentos de Programación. 4ta. ed. España:
actividad. McGraw-Hill; 2008. P 202-217
Disponible en: Biblioteca CENDOC (libros digitales).
Programarya: Curso de C++. Recuperado de
https://www.programarya.com/Cursos/C++/Funciones
1|Página
2. Rúbrica de evaluación:
2|Página
Resolución ejercicio 1
ProductoAcademico3.cpp
3|Página
Código de ProductorAcademico3.cpp
#include<iostream>
#include "LibreriaDatos.h"
int main()
{
do {
do {
switch (opc)
{
case 1: {
cout << "Nuevo ingreso de productos caja de colores" << endl;
cin >> nstock;
totalCajC = totalCajC + nstock;
cout << "Nuevo ingreso de productos papel bon millar" << endl;
cin >> nstock1;
totalPBMi = totalPBMi + nstock1;
break;
}
case 2: {
do {
cout << "Ingrese cantidad a vender caja de colores"<<endl;
cin >> cant;
if (cant <= 0)
cout << "Cantidad inválida" << endl;
4|Página
if (cant <= 0)
cout << "Cantidad inválida" << endl;
case 3: {
cout << "Total de CajColores restantes es " << totalCajC << endl;
cout << "cantidad de pedidos de CajColores completos " << cpedcom << endl;
cout << "cantidad de pedidos de CajColores incompletos"<<cpedincom<<endl;
cout << "Total CajColores vendidas " << cCajCVend << endl;
cout << "Total CajColores faltantes " << cCajCFaltantes << endl;
cout << "Total de PBMi restantes es " << totalPBMi << endl;
cout << "cantidad de pedidos de PBmi completos"<<cpedcom1<<endl;
cout << "cantidad de pedidos PBmi incompletos"<<cpedincom1<<endl;
cout << "Total PBMi vendidas " << cPBMiVend << endl;
cout << "Total PBMi faltantes " << cPBMiCFaltantes << endl;
break;
}
case 4: {
cout << "Gracias por comprar en nuestra tienda... Hasta pronto!!!" << endl;
break;
}
system("pause");
system("cls");
}
}while (opc != 4);
return 0;
}
5|Página
LibreriaDatos.h
6|Página
Codigo LibreriaDatos.h
#include<iostream>
using namespace std;
int cpedcom = 0, cpedincom = 0, totalCajC = 0, cCajCVend = 0, cCajCFaltantes = 0, cpedcom1 = 0,
cpedincom1 = 0, totalPBMi = 0, cPBMiVend = 0, cPBMiCFaltantes = 0;
int nstock, opc, cant, nstock1, cant1;
void Mostrar(float totalCajC, int cpedcom, int cpedincom, int cCajCVend, int cCajCFaltantes, int
totalPBMi, int cpedcom1, int cpedincom1, int cPBMiVend, int cPBMiCFaltantes)
{
cout << "Total de CajC restantes es " << totalCajC << endl;
cout << "cant de pedidos de CajC completos"<<cpedcom<<endl;
cout << "cant de pedidos de CajC incompletos"<<cpedincom<<endl;
cout << "Total CajC vendidas " << cCajCVend << endl;
cout << "Total CajC faltantes " << cCajCFaltantes << endl;
cout << "Total de PBMi restantes es " << totalPBMi << endl;
cout << "cant de pedidos de PBmi completos"<<cpedcom1<<endl;
cout << "cant de pedidos PBmi incompletos"<<cpedincom1<<endl;
cout << "Total PBMi vendidas " << cPBMiVend << endl;
cout << "Total PBMi faltantes " << cPBMiCFaltantes << endl;
}
7|Página
Ejecución del programa
8|Página
Resolución Ejercicio 2
ProductoAcademico3-Ejercicio2.cpp
Codigo ProductoAcademico3-Ejercicio2.cpp
#include<iostream>
#include "Lecturadatos2.h"
using namespace std;
int main()
{
int rpta;
do {
rpta = menu();
} while (rpta == 1 or rpta == 2); system("pause");
return 0;
}
9|Página
LecturaDatos2.h
10 | P á g i n a
11 | P á g i n a
Codigo LecturaDatos2.h
#include<iostream>
using namespace std;
int opc;
int Cv = 0, Cm = 0, Ca = 0, Cd = 0, Cha = 0, Cma = 0, Chca = 0, Chcd = 0, Cmd = 0, Ctd = 0, Cmsa = 0, Cvd = 0;
float nota = 0, snm = 0, Npma = 0, svd = 0, Nphd = 0, snv = 0;
char genero, estadocivil;
void procesar()
{
do
{
cout << "Ingrese genero" << endl; cin >> genero;
if (genero != 'm' and genero != 'M' and genero != 'f' and genero != 'F')
cout << "Ingreso incorrecto (M o F), vuelva a intentarlo"<<endl;
} while (genero != 'm' and genero != 'M' and genero != 'f' and genero != 'F');
do
{
cout << "Ingresar Estado civil" << endl;
cin >> estadocivil;
if (estadocivil != 'C' and estadocivil != 'c' and estadocivil != 'S' and estadocivil !=
's' and estadocivil != 'D' and estadocivil != 'd')
cout << "Ingreso incorrecto es (C, S o D), vuelva a intentar"<<endl;
} while (estadocivil != 'C' and estadocivil != 'c' and estadocivil != 'S' and estadocivil != 's'
and estadocivil != 'D' and estadocivil != 'd');
do
{
cout << "Ingrese la Nota" << endl;
cin >> nota;
if (nota <= 0 or nota > 20)
cout << "Valor incorrecto" << endl;
} while (nota <= 0 or nota > 20);
{
Npma = snm / Cma;
Ca++;
}
else
{
Nphd = snv / Cvd;
Ctd++;
}
12 | P á g i n a
}
void mostrar()
{
cout << "La cantidad de Hombres aprobados es " << Cha << endl;
cout << "La cantidad de Mujeres aprobadas es " << Cma << endl;
cout << "La cantidad de Hombres casados aprobados es " << Chca << endl;
cout << "La cantidad de Hombres casados desaprobados es "<<Chcd<<endl;
cout << "La cantidad de Mujeres solteras aprobadas es " << Cmsa << endl;
cout << "La cantidad de Mujeres divorciadas es " << Cmd << endl;
cout << "La cantidad Total de desaprobados " << Ctd << endl;
cout << "La nota promedio de Mujeres aprobadas es " << Npma << endl;
cout << "La nota promedio de Hombres desaprobados es "<<Nphd<<endl;
system("pause");
system("cls");
}
void salir()
{
cout << "\n Finalizacion del programa Hasta Pronto\n";
}
int menu()
{
int opc;
do {
cout << "\tMenu Principal" << endl;
cout << "1 Ingresar datos" << endl;
cout << "2 Reportar datos" << endl;
cout << "3 Salir" << endl;
cout << "Ingrese Opcion 1, 2 o 3" << endl;
cin >> opc;
} while (opc != 1 and opc != 2 and opc != 3);
switch (opc)
{
case 1: {
procesar();
cout << "\n";
}break;
case 2: {
mostrar();
cout << "\n";
}break;
case 3: {
salir();
cout << "\n";
}break;
return opc;
}
13 | P á g i n a
Pruebas Ejercicio2
14 | P á g i n a