Está en la página 1de 14

Producto Académico N° 02: Tarea

ASIGNATURA: FUNDAMENTOS DE PROGRAMACIÓN


NOMBRE Y APELLIDOS: OSWALDO HUACAC GONZA
DNI: 42832502
FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA
DOCENTE: CARLOS ALBERTO CALDERON SEDANO

1. Consideraciones:

1.Modularización de programas: función y procedimiento para la creación de


menú de opciones y librerías de programación:

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.

Pruebas Realizadas en cada caso

CODIGO EJECUTADO

FUNCIOPNES Y PROCEDIMIENTO

1|Página
2|Página
ACTUALIZANDO STOCK

3|Página
REALIZANDO VENTA Y MOSTRANDO EL STOCK

4|Página
Codigo Fuente del proyecto

#include<iostream>
#include "Libreria.h"
int main()
{

string nombre;

cout<<"Ingrese el Nombre del producto"<<endl;


cin>>nombre;
Menu();
return 0;
}

Codigo Fuente de la Libreria

#include<iostream>
using namespace std;
float stock=0;
int cv=0;
int opc;

float ValidarStock(float stock)


{
int compra;
do
{
cout<<"Ingrese stock "<<endl;
cin>>compra;
}while(compra<0);
stock=stock+compra;
return stock;
}

float Vender(float stock)


{
float venta;
do
{
cout<<"Ingrese la cant de unidades a vender"<<endl;
cin>>venta;
}
while(venta<0);

if(venta>stock)
cout<<"No se puede realizar la venta"<<endl;
else
stock=stock-venta;

return stock;
}

5|Página
void Mostrar(float stock,int cv)
{
cout<<"El stock actual es: "<<stock<<endl;
cout<<"Cantidad de atenciones: "<<cv;

void Menu()
{
do
{
do
{
cout<<"\tMENU"<<endl;
cout<<"1 Actualizar stock"<<endl;
cout<<"2 Vender"<<endl;
cout<<"3 Mostrar stock"<<endl;
cout<<"4 Salir"<<endl;
cout<<"Ingrese opcion (1-4)"<<endl;
cin>>opc;
if(opc!=1 and opc!=2 and opc!=3 and opc!=4)
cout<<"Error, ingrese dato correcto";
}while(opc!=1 and opc!=2 and opc!=3 and opc!=4);
switch(opc)
{
case 1:
{
stock=ValidarStock(stock);
break;
}
case 2:
{
cv++;
stock=Vender(stock);
break;
}
case 3:
{
Mostrar(stock,cv);
break;
}
case 4:
{
cout<<"Gracias por su Compra"<<endl;
break;
}
}
}while(opc!=4);

6|Página
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.

CODIGO EJECUTADO

7|Página
Prueba

8|Página
Código Fuente

#include<iostream>
using namespace std;
int tec;
char genero,estado;
float nota,suma=0,promedio,sum=0,prom,mua=0,vdes=0;
int cv=0,cm=0,ca=0,cd=0,c=0,s=0,d=0,cam=0,som=0,dim=0,caf=0,sof=0,dif=0,va=0,vd=0;
int ma=0,md=0,cap=0,cds=0,sa=0,sd=0,fdiv=0;

void menu()
{
do{
do
{
cout<<"\t Menu principal"<<endl;
cout<<"1 Ingresar Datos"<<endl;
cout<<"2 Reportar Datos"<<endl;
cout<<"3 Salir"<<endl;
cout<<"Ingrese Opciones (1-3)"<<endl;
cin>>tec;
}while(tec==1 and tec==2 and tec==3);

switch(tec)
{
case 1:{
do{

9|Página
cout<<"Ingresar Genero"<<endl;
cin>>genero;
if(genero=='V' and genero=='v' and genero=='M' and
genero=='m')
{
cout<<"Ingreso incorrecto (V o M), vuelva a
intentar"<<endl;
}
}while(genero=='V' and genero=='v' and genero=='M' and
genero=='m');

do{
cout<<"Ingresar Estado civil"<<endl;
cin>>estado;
if(estado=='C' and estado=='c' and estado=='S' and
estado=='s' and estado=='D' and estado=='d')
{
cout<<"Ingreso incorrecto es (C, S o D),
vuelva a intentar"<<endl;
}
}while(estado=='C' and estado=='c' and estado=='S' and
estado=='s' and estado=='D' and estado=='d');
do{
cout<<"Ingrese Nota"<<endl;
cin>>nota;
cout<<"Nota incorrecta"<<endl;
}while(nota<=0 and nota>=20);
if(genero=='V' or genero=='v')
cv++;
if(genero=='M' or genero=='m')
cm++;
if(nota>=10.5)
ca++;
else
cd++;
if(nota>=10.5 and estado=='c' and genero=='v' or nota>=10.5
and estado=='C' and genero=='V' or nota>=10.5 and estado=='C' and genero=='v' or nota>=10.5 and
estado=='c' and genero=='V')
if(nota<=10.5 and estado=='c' and genero=='v' or nota<=10.5
and estado=='C' and genero=='V' or nota<=10.5 and estado=='C' and genero=='v' or nota<=10.5 and
estado=='c' and genero=='V')
cds++;
if(nota>=10.5 and estado=='s' and genero=='m' or nota>=10.5
and estado=='S' and genero=='M' or nota>=10.5 and estado=='S' and genero=='m' or nota>=10.5 and
estado=='s' and genero=='M')
sa++;
if(nota<=10.5 and estado=='s' and genero=='m' or nota<=10.5
and estado=='S' and genero=='M' or nota<=10.5 and estado=='S' and genero=='m' or nota<=10.5 and
estado=='s' and genero=='M')
sd++;
if(genero=='m' and estado=='d' or genero=='M' and
estado=='D' or genero=='m' and estado=='D' or genero=='M' and estado=='d')

10 | P á g i n a
fdiv++;
if(nota>=10.5 and genero=='m' or nota>=10.5 and
genero=='M')
ma++;
else
md++;
if(nota>=10.5 and genero=='m' or nota>=10.5 and
genero=='M')
{
mua++;
suma=suma+nota;
promedio=suma/mua;}
else
promedio=0;
if(nota>=10.5 and genero=='v' or nota>=10.5 and
genero=='V')
va++;
else
vd++;
if(nota<=10.5 and genero=='v' or nota<=10.5 and
genero=='V')
{
vdes++;
sum=sum+nota;
prom=sum/vdes;}
else
prom=0;
if(estado=='C' or estado=='c')
c++;
if(estado=='S' or estado=='s')
s++;
if(estado=='D' or estado=='d')
d++;
break;
}
case 2:{

cout<<"Cant de varones aprobado es: "<<va<<endl;


cout<<"Cant de mujeres aprobado es: "<<ma<<endl;
cout<<"Cant de varones casados aprobado es: "<<cap<<endl;
cout<<"Cant de varones casados desaprobado es:
"<<cds<<endl;
cout<<"Cant de Mujeres solteras aprobadas es: "<<sa<<endl;
cout<<"Cant de Mujeres divorciadas es: "<<fdiv<<endl;
cout<<"Cant de Desaprobado es: "<<cd<<endl;
cout<<"La nota promedio de las mujeres aprobadas es:
"<<promedio<<endl;
cout<<"La nota promedio de los varones desaprobadas es:
"<<prom<<endl;
break;
}
}

11 | P á g i n a
}while(tec!=3);
}

CODIGO FUENTE DE PROYECTO

#include<iostream>
#include "Notas.h"
using namespace std;

int main()
{
menu();
return 0;

12 | P á g i n a
Criterio Detalle
Tema o Estructuras de Control Repetitiva, Menú de Opciones, Contador y
asunto Acumulador.
Enunciado Lea detenidamente las indicaciones, elabora la siguiente actividad:
1. Elaborar el programa para: Usar MENÚ, 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
para la ejecución con el ingreso y reporte de datos, para los casos
propuestos. (2) Elabora el código fuente en C++ para los casos
presentar el propuestos.
archivo en el  Guarda el archivo del informe y del código fuente de cada caso
aula virtual propuesto, en una carpeta, lo comprimes ApellidoNombre y envíalo a
través del ícono Enviar Producto Académico No. 02, 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 02, 04 y 05 de la unidad 02 del manual del curso, adjunto en el
para realizar aula virtual del curso.
 Joyanes Aguilar, Luis. Fundamentos de Programación. 4ta. ed. España:
la actividad. McGraw-Hill; 2008. P 157-181
Disponible en: Biblioteca CENDOC (libros digitales).
 Programarya: Curso de C++. Recuperado de
https://www.programarya.com/Cursos/C++/Ciclos/Ciclo-do-while

13 | P á g i n a
1. 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)
Archivo Presenta el informe Presenta el informe del No presenta el
Word: del programa programa, pero le falta informe.
Carátula completo con todos al menos uno de los
datos de los criterios: Carátula criterios: Carátula con
estudiante, con integrantes, datos de estudiante,
índice, índice, enunciado índice, enunciado del
enunciado del caso, pantallazo caso, pantallazo de
del caso, de código fuente, código fuente,
pantallazo pantallazo de pantallazo de ventanas
de código ventanas en en ejecución.
fuente, ejecución.
pantallazo
de ventanas
en
ejecución.
Validación de datos Valida todos los Ingresa casi todos los No valida datos,
usando do-while y datos usando en datos necesarios para solo ingresa.
usando if() para conjunto do-while, el cálculo.
mensaje de error. if()
Usa Menú de Usa menú de Usa menú de No usa menú de
opciones para opciones, repite el opciones, repite el opciones, ejecuta
repetir el algoritmo, algoritmo dando la algoritmo dando la el algoritmo, solo
dando la opción si opción si desea opción si desea una vez.
desea continuar o continuar o no. continuar, con el
no. proceso por día o por
cliente, pero sin
mensajes.
Reporte de Datos. Reporta todos los Reporta todos los Reporta solo uno o
datos solicitados del datos del proceso, sin ningún dato del
proceso, considerar la proceso.
considerando la repetición.
repetición
Total
Nota:

14 | P á g i n a

También podría gustarte