02 - PA TAREA 03 - Fundamentos de Programación-1 Resuelto

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

Producto Académico N° 03: Tarea

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:

A continuación, se presenta la escala de valoración, en base a la cual se evaluará el


trabajo individual, donde la escala máxima por categoría equivale a 5 puntos y la
mínima, 0.

Criterios Logrado En proceso No logrado


(5 puntos) (3 puntos) (0 puntos)
Uso de la librería de Usa la librería de Usa la librería para No usa la librería o
LecturaDatos.h en Lectura de Datos en ingresar la mitad de los no enlaza la librería
los módulos a usar todos los ingresos. datos solicitados. en la ejecución.
de los dos
programas.
Módulo o módulos Uso del módulo o Uso del módulo o No usa los módulos,
necesarios para la módulos necesarios módulos necesarios solo programa en el
solución. (Ejemplos: para la solución, para la solución, pero módulo principal
Módulos de invocados por el no son invocados por main.
proceso, de menú, main. el main.
de mostrar datos.)
Validación de datos Valida todos los Valida casi todos los No valida datos,
usando do-while y datos usando en datos, o solo usa do- solo ingresa.
usando if(), para conjunto do-while y while y no if(), o solo
ingresar letras o usa if(). usa if() y no usa do-
números. while.
Repite el algoritmo o Repite el algoritmo No repite el
módulo que dando la opción si Repite el algoritmo algoritmo, solo
procesa, dando la desea continuar o dando la opción si desea ejecuta una vez.
opción si desea no, usando menú de continuar, con el proceso
continuar o no, opciones. por día o por cliente,
usando menú de pero sin mensajes.
opciones.
Reporte de Datos Reporta todos los Reporta todos los Reporta solo uno
usando el módulo de datos solicitados datos del proceso, sin o ningún dato
reporte. del proceso, considerar la del proceso.
considerando la repetición
repetición.
Total
Nota:

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 {

cout << "\tMenu Principal" << endl;


cout << "1 Actualizar" << endl;
cout << "2 Vender" << endl;
cout << "3 Reportar" << endl;
cout << "4 Salir" << endl;
cout << "Ingrese opción" << endl;
cin >> opc;
if (opc != 1 and opc != 2 and opc != 3 and opc != 4)
cout << "No valido ingrese otro numero" << endl;

} while (opc != 1 and opc != 2 and opc != 3 and opc != 4);

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;

cout << "Ingrese cantidad a vender papel bon millar"<<endl;


cin >> cant1;

4|Página
if (cant <= 0)
cout << "Cantidad inválida" << endl;

} while (cant <= 0 and cant1 <= 0);

if (cant <= totalCajC and cant1 <= totalPBMi)


{
totalCajC = totalCajC - cant;
cpedcom++;
cCajCVend = cCajCVend + cant;
totalPBMi = totalPBMi - cant1;
cpedcom1++;
cPBMiVend = cPBMiVend + cant1;
}
else
{
cout << "Cantidad insuficiente" << endl;
cpedincom++;
cCajCFaltantes = cant - totalCajC;
cout << "Cantidad insuficiente" << endl;
cpedincom1++;
cPBMiCFaltantes = cant1 - totalPBMi;
}
break;
}

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;

float ValidarCajc(float totalCajC)


{
int nstock;
do
{
cout << "Nuevo ingreso de productos caja de colores"<<endl;
cin >> nstock;
} while (nstock < 0);

totalCajC = totalCajC + nstock;


return nstock;
}

float ValidarPBMi(float totalPBMi)


{
int nstock1;
do
{
cout << "Nuevo ingreso de productos papel bon millar"<< endl;
cin >> nstock1;
} while (nstock1 < 0);

totalPBMi = totalPBMi + nstock1;


return nstock1;
}

float VenderCajc(float nstock)


{
float cant;
do
{
cout << "Ingrese cantidad a vender caja de colores"<<endl;
cin >> cant;
} while (cant <= 0);
return nstock;
}

float VenderPBMi(float nstock1)


{
float cant1;
do
{
cout << "Ingrese cantidad a vender papel bon millar"<<endl;
cin >> cant1;
} while (cant1 <= 0);
return nstock;
}

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);

if (genero == 'm' or genero == 'M')


{
Cv++;
if (nota >= 10.5)
{
Cha++;
if (estadocivil == 'c' or estadocivil == 'C')
Chca++;
}
else {
Cvd++;
snv = snv + nota;
if (estadocivil == 'c' or estadocivil == 'C')
Chcd++;
}
}
else if (genero == 'f' or genero == 'F')
{
Cm++;
Cv++;
if (nota >= 10.5)
{
Cma++;
snm = snm + nota;
}
if (estadocivil == 'd' or estadocivil == 'D')
Cmd++;

if (estadocivil == 's' or estadocivil == 'S')


{
if (nota >= 10.5)
Cmsa++;
}
}

if (nota >= 10.5)

{
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

También podría gustarte