Está en la página 1de 11

Fundamentos de Programación

Segunda Unidad: Estructuras de control para la programación

Sección : 11177 Integrantes: BUENDÍA ANDÍA, Dashiell Khaleb


BARJA GUZMÁN, Rosario Alexis
Docente: Katia Melina Montero Barrionuevo Fecha : 28/04/21 Duración: 100 min
Tipo de práctica: Individual ( x ) Grupal ( )

Instrucciones: Lea detenidamente cada enunciado y desarrolle lo solicitado.

Utilizar el Dev C++ para el desarrollo de los siguientes programas

Propósito: Realizar un programa con estructuras control repetitivos

EJERCICIO 01

Realizar el ingreso de datos de “n” docentes, en el cual se debe ingresar: nombre, edad, sueldo
Bruto, categoría(A/B). Validar: cantidad de docentes(>0), edad (>=25 y <=70), sueldo Bruto (>1500),
categoría (A/B).

A continuación se detalla el bono, que se aumentará a los docentes en función a su categoría

Categoría Bono

A 500

B 800

Reporte por cada docente:


● Bono
● Sueldo Neto = Sueldo Bruto + Bono

Reporte total

a. Cantidad de docentes de la categoría A


b. Cantidad de docentes de la categoría A con sueldo mayor a 4000
c. Total de sueldo Neto de docentes con edades menores a 40
d. Total de sueldo Neto de docentes de la categoría B con edades mayores a 30 años
e. Promedio de sueldo Neto de los trabajadores de la categoría A
f. Promedio de sueldo Neto de todos los trabajadores

El programa debe mostrar el siguiente menú de opciones:

===MENU======
1. Registrar
2. Reporte
3. Salir
==============
#include<iostream>
using namespace std;
int main()
{ int opc,c,ed,b,cdA=0,cdB=0,caD4000=0;
float SB,SN,TS40=0,TSB30=0,TSCA=0,TSN=0,e,f;
char Ca;
string nombre;
setlocale(LC_CTYPE,"Spanish");
do
{
cout<<"\n================\n";
cout<<" MENU \n";
cout<<"================\n";
cout<<"[1.] Registrar \n";
cout<<"[2.] Reporte \n";
cout<<"[3.] Salir \n";
cout<<"================\n";
cout<<"Ingrese opción(1/2/3) : ";
cin>>opc;
switch(opc)
{ case 1: cout<<"Ingrese el nombre: ";
cin>>nombre;
do
{ cout<<"Ingrese la edad (>=25 y <=70): ";
cin>>ed;
if(ed<25||ed>70)
cout<<"Error. La edad es incorrecta";
}while(ed<25||ed>70);
do
{ cout<<"Ingrese sueldo bruto (>1500): ";
cin>>SB;
if(SB<=1500)
cout<<"Error. El sueldo debe ser mayor a 1500 ";
}while(SB<=1500);
do
{ cout<<"Ingrese la categoría (A/B): ";
cin>>Ca;
if(Ca!='a'&&Ca!='A'&&Ca!='b'&&Ca!='B')
cout<<"Error. La categoría es incorrecta.";
}while(Ca!='a'&&Ca!='A'&&Ca!='b'&&Ca!='B');
//REPORTE INDIVIDUAL
if(Ca=='a'||Ca=='A')
{ b=500;
cdA++;
if(SB>4000)
caD4000++;
}
else
b=800;
cdB++;
SN=SB+b;
TSN+=SN;
if(ed>=25||ed<40)
TS40+=SN;
if((Ca=='b'||Ca=='B')&&ed<30)
TSB30+=SN;
if(Ca=='a'||Ca=='A')
TSCA+=SN;
e=TSCA/cdA;
f=TSN/(cdA+cdB);
cout<<"El bono del docente es: "<<b<<"\n";
cout<<"El sueldo neto del docente es: "<<SN<<"\n";
break;
case 2: cout<<"\n====REPORTE TOTAL====\n";
cout<<"Cantidad de docentes de la categoría A: "<<cdA<<"\n";
cout<<"Cantidad de docentes de la categoría A con sueldo mayor a 4000:
"<<caD4000<<"\n";
cout<<"Total de sueldo neto de docentes con edades menores a 40:
"<<TS40<<"\n";
cout<<"Total de sueldo neto de docentes de la categoría B con edades
mayores a 30: " <<TSB30<<"\n";
cout<<"El promedio del sueldo neto de los trabajadores de la categoría A:
"<<e<<"\n";
cout<<"El promedio del sueldo neto de todos los trabajadores: "<<f<<"\n";
break;
case 3: cout<<"Adios :c \n";
break;
default: cout<<"Error. Opción incorrecta \n";
}
}while(opc!=3);
system("pause");
return 0;
}
EJERCICIO 02

Elaborar un programa que pida el ingreso de nombre, sueldo Bruto y el tipo de empleado
(A/B), edad. Determinar el sueldo Neto, si se considera que hay un % descuento, el cual
se aplica al sueldo Bruto, según la tabla siguiente:

Edad \Tipo empleado A B

<30 0.10 0.20

>=30 y <50 0.15 0.25

>=50 0.30 0.35

Validar el ingreso de los datos:

- Ingreso Bruto >1000


- Tipo de empleado (A/B)
- Edad (>=18 y <=70)

Reporte por cada cliente:

● Sueldo Bruto
● Descuento
● Sueldo Neto

Reporte total

● Cantidad de empleados ingresados


● Cantidad de empleados con edades entre 20 y 30 años
● Cantidad de empleados de la categoría B, con edades mayores a 40 años
● Total acumulado de sueldo Neto de empleado de categoría A
● Total acumulado de sueldo Neto de empleado de categoría B, con edades
menores o igual a 40 años
● Promedio de sueldo Neto de los que recibieron el descuento de 15%
● Total acumulado de sueldo neto

====MENU======
1. Registrar
2. Reporte
3. Salir
==============
#include<iostream>
using namespace std;
int main()
{ int opc,edad,x=1,ce20=0,ceB40=0,cd15=0;
string nomb;
char tipo;
double SB,SN,d,MD,TSA=0,TSB40=0,TSN15=0,TSN=0,p;
setlocale(LC_CTYPE,"Spanish");
do
{
cout<<"\n================\n";
cout<<" MENU \n";
cout<<"================\n";
cout<<"[1.] Registrar \n";
cout<<"[2.] Reporte \n";
cout<<"[3.] Salir \n";
cout<<"================\n";
cout<<"Ingrese opción(1/2/3) : ";
cin>>opc;
switch(opc)
{ case 1: cout<<"Ingrese el nombre del empleado "<<x<<": ";
cin>>nomb;
x++;
do
{ cout<<"Ingrese la edad (>=18 y <=70): ";
cin>>edad;
if(edad<18||edad>70)
cout<<"Error. La edad ingresada no es válida";
}while(edad<18||edad>70);
do
{ cout<<"Ingrese el sueldo bruto (>1000): ";
cin>>SB;
if(SB<=1000)
cout<<"Error. El sueldo bruto debe ser mayor a 1000 ";
}while(SB<=1000);
do
{ cout<<"Ingrese el tipo de empleado (A/B) : ";
cin>>tipo;
if(tipo!='a'&&tipo!='A'&&tipo!='b'&&tipo!='B')
cout<<"Error. El tipo de empleado es inválido. ";
}while(tipo!='a'&&tipo!='A'&&tipo!='b'&&tipo!='B');
if (edad<30)
{ if(tipo=='a'||tipo=='A')
d=0.10;
else
d=0.20;
}
else
{ if(edad<50)
{ if(tipo=='a'||tipo=='A')
{ d=0.15;
cd15++;
}
else
d=0.25;
}
else
{ if(tipo=='a'||tipo=='A')
d=0.30;
else
d=0.35;
}

}
MD=SB*d;
SN=SB-MD;
//Reporte individual
cout<<"El sueldo bruto es : "<<SB<<"\n";
cout<<"El monto de descuento es : "<<MD<<"\n";
cout<<"El sueldo neto es : "<<SN<<"\n";
//Reporte general
if(edad>=20&&edad<=30)
ce20++;
if(edad>40&&(tipo=='b'||tipo=='B'))
ceB40++;
if(tipo=='a'||tipo=='A')
TSA+=SN;
if(edad<=40&&(tipo=='b'||tipo=='B'))
TSB40+=SN;
if(d==0.15)
{ TSN15+=SN;
}
TSN+=SN;
p=TSN15/cd15;
break;
case 2: cout<<"La cantidad de empleados es: "<<x-1<<"\n";
cout<<"La cantidad de empleados con edades entre 20 y 30 años es :
"<<ce20<<"\n";
cout<<"La cantidad de empleados de la categoría B, con edades mayores a 40 es:
"<<ceB40<<"\n";
cout<<"El total acumulado de sueldo Neto de empleados de categoría A es :
"<<TSA<<"\n";
cout<<"El total acumulado de sueldo Neto de empleados de categoría B, con
edades menores o igual a 40 años es :"<<TSB40<<"\n";
cout<<"El promedio de sueldo Neto de los que recibieron el descuento de 15%
es: "<<p<<"\n";
cout<<"El total acumulado de sueldo neto es: "<<TSN<<"\n";
break;
case 3:
break;
default: cout<<"Error. Opción incorrecta \n";
}
}while(opc!=3);
system("pause");
return 0;
}

También podría gustarte