La empresa de cobranza desea desarrollar un sistema en C++ para gestionar a sus 20 cobradores rurales y urbanos. El sistema calculará comisiones, sueldos, el cobrador con más clientes visitados, el total de comisiones y la utilidad de la empresa. Se utilizará una clase Cobrador para almacenar datos de cada cobrador y métodos para contratar, consultar y despedir cobradores.
1. // La Empresa de Cobranza, desea que se le desarrolle un sistema en C++.
// Actualmente la empresa cuenta con una planta de 20 cobradores clasificados en
rurales y urbanos a los cuales se le
// paga una comisión del 2% y 1% respectivamente. El cobrador al ser contratado se le
asigna un código correlativo único
// y se le registran nombres, apellidos, número de cédula, sexo, cuota de cobranza del
mes y sueldo básico.
// Al despedir un cobrador se le coloca el status inactivo y se le calcula el sueldo neto a
pagar en ese momento.
// Al final de cada mes se le hace un cierre de cobranza, en la cual a cada trabajador se
le registra el monto total cobrado
// en el mes y el número de clientes visitados. La empresa tiene una ganancia del 15%
sobre cada factura cobrada. El sistema debe calcular:
// Contratar, Despedir y Consultar un cobrador.
// El cobrador que visitó más clientes en el mes.
// El total de comisiones cobrados por la empresa.
// monto total de la utilidad obtenida por la empresa.
// Cobrador.h
// --------------------------------------------------------------------------- //
// LIBRERIA: cobrador.h //
// --------------------------------------------------------------------------- //
// --------------------------------------------------------------------------- //
// DEFINICIÓN DE LA CLASE COBRADOR //
// --------------------------------------------------------------------------- //
class cobrador
{
public:
/////// Atributos /////////
int nCodigo;
int nCedula;
char cNombre[30];
char cApellido[30];
char cSexo;
double nSueldo_Base;
char cTipo;
char cStatus;
double nCuotas_Cobranza;
double nSueldo_Neto;
double nMonto_Total_Mes;
int nNumero_Clientes;
//////// Métodos //////////
cobrador();
void leer_datos(int);
void mostrar_datos();
};
// --------------------------------------------------------------------------- //
// CONSTRUCTOR DE LA CLASE COBRADOR //
2. // --------------------------------------------------------------------------- //
cobrador::cobrador()
{
nCodigo=0;
nCedula=0;
nSueldo_Base=0;
cStatus=’I’;
nCuotas_Cobranza=0;
nSueldo_Neto=0;
nMonto_Total_Mes=0;
}
// --------------------------------------------------------------------------- //
// IMPLEMENTACION DE LA CLASE COBRADOR //
// --------------------------------------------------------------------------- //
// --------------------------------------------------------------------------- //
// MÉTODO LEER DATOS DEL COBRADOR //
// --------------------------------------------------------------------------- //
void cobrador::leer_datos(int tnCodigo)
{
system(quot;clsquot;);
nCodigo=tnCodigo;
cout<<endl<<quot;**********************************************quot;;
cout<<endl<<quot; Leer Datos del Cobrador quot;;
cout<<endl<<quot;**********************************************quot;;
cout<<endl;
cout<<endl<<quot; Codigo : quot;<<nCodigo;
cout<<endl<<quot; Cedula : quot;;cin>>nCedula;
cout<<endl<<quot; Nombre : quot;;cin>>cNombre;
cout<<endl<<quot; Apellido : quot;;cin>>cApellido;
cout<<endl<<quot; Sexo : quot;;cin>>cSexo;
cout<<endl<<quot; Sueldo Base : quot;;cin>>nSueldo_Base;
cout<<endl<<quot; Cuotas de Cobranzas : quot;;cin>>nCuotas_Cobranza;
cout<<endl<<quot; Tipo de Cobrador ('U','R'): quot;;cin>>cTipo;
cStatus='A';
}
// --------------------------------------------------------------------------- //
// MÉTODO MOSTRAR DATOS DEL COBRADOR //
// --------------------------------------------------------------------------- //
void cobrador:: mostrar_datos()
{
system(quot;clsquot;);
cout<<endl<<quot;***********************************************quot;;
cout<<endl<<quot; Mostrar Datos del Cobrador quot;;
cout<<endl<<quot;***********************************************quot;;
cout<<endl;
cout<<endl<<quot; Codigo : quot;<<nCodigo;
cout<<endl<<quot; Cedula : quot;<<nCedula;
cout<<endl<<quot; Nombre : quot;<<cNombre;
cout<<endl<<quot; Apellido : quot;<<cApellido;
3. cout<<endl<<quot; Sexo : quot;<<cSexo;
cout<<endl<<quot; Sueldo Base : quot;<<nSueldo_Base;
cout<<endl<<quot; Cuotas de Cobranzas : quot;<<nCuotas_Cobranza;
cout<<endl<<quot; Tipo de Cobrador ('U','R'): quot;<<cTipo;
cout<<endl<<quot; Status : quot;<<cStatus;
}
// --------------------------------------------------------------------------- //
// FIN DE LA CLASE COBRADOR //
// --------------------------------------------------------------------------- //
// La Empresa de Cobranza, desea que se le desarrolle un sistema en C++.
// Actualmente la empresa cuenta con una planta de 20 cobradores clasificados en
rurales y urbanos a los cuales se le
// paga una comisión del 2% y 1% respectivamente. El cobrador al ser contratado se le
asigna un código correlativo único
// y se le registran nombres, apellidos, número de cédula, sexo, cuota de cobranza del
mes y sueldo básico.
// Al despedir un cobrador se le coloca el status inactivo y se le calcula el sueldo neto a
pagar en ese momento.
// Al final de cada mes se le hace un cierre de cobranza, en la cual a cada trabajador se
le registra el monto total cobrado
// en el mes y el número de clientes visitados. La empresa tiene una ganancia del 15%
sobre cada factura cobrada. El sistema debe calcular:
// Contratar, Despedir y Consultar un cobrador.
// El cobrador que visitó más clientes en el mes.
// El total de comisiones cobrados por la empresa.
// monto total de la utilidad obtenida por la empresa.
// Ejercicio.cpp
// --------------------------------------------------------------------------- //
// LIBRERIA: SistemaCobranza.cpp //
// --------------------------------------------------------------------------- //
// --------------------------------------------------------------------------- //
// LIBRERIAS UTILIZADAS //
// --------------------------------------------------------------------------- //
# include<iostream.h>
# include<string.h>
# include<stdlib.h>
# include<Ejercicio45empresa.h>
// --------------------------------------------------------------------------- //
// INSTANCIACIÓN DEL OBJETO INVENTARIO //
// --------------------------------------------------------------------------- //
empresa e;
// --------------------------------------------------------------------------- //
// PROCEDIMIENTOS GENERALES //
// --------------------------------------------------------------------------- //
4. // ------------------------------------------------------------------------------------------ //
// PROCEDIMIENTO QUE IMPLEMENTA EL MENU DE COBRADOR //
// ------------------------------------------------------------------------------------------ //
void MenuCobrador()
{
char lcOpcion = '1';
while(lcOpcion != '0')
{
system(quot;clsquot;);
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; EMPRESA DE COBRANZA quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; SUB-MENU COBRADOR quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; 1.- Contratar quot;;
cout<<endl<<quot; 2.- Consultar quot;;
cout<<endl<<quot; 3.- Despedir quot;;
cout<<endl<<quot; 0.- Retornar quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; Seleccione : quot;;
cin>>lcOpcion;
switch(lcOpcion)
{
case '1':e.contratar_cobrador();break;
case '2':e.consultar_cobrador();break;
case '3':e.despedir_cobrador();break;
}
}
}
// --------------------------------------------------------------------------------------------- //
// PROCEDIMIENTO QUE IMPLEMENTA EL MENU DE OPERACIONES //
// --------------------------------------------------------------------------------------------- //
void MenuOperaciones()
{
char lcOpcion = '1';
while(lcOpcion != '0')
{
system(quot;clsquot;);
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; EMPRESA DE COBRANZA quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; S U B - M E N U O P E R A C I O N E S quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; 1.- Cierre de Cobranza quot;;
cout<<endl<<quot; 2.- Cobrador que Visito mas Cliente quot;;
cout<<endl<<quot; 3.- Total de Comisiones quot;;
cout<<endl<<quot; 4.- Total de la Utilidad quot;;
5. cout<<endl<<quot; 0.- Retornar quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; Seleccione: quot;;
cin>>lcOpcion;
switch(lcOpcion)
{
case '1':e.cierre_cobranza();break;
case '2':e.Mas_Clientes();break;
case '3':cout<<endl<<quot; Total Comision:
quot;<<e.Calcular_Total_Comision()<<endl;system(quot;pausequot;);break;
case '4':cout<<endl<<quot; Total Utilidad:
quot;<<e.Calcular_Total_Utilidad()<<endl;system(quot;pausequot;);break;
}
}
}
// -------------------------------------------------------------------------------------- //
// PROCEDIMIENTO QUE IMPLEMENTA EL MENU PRINCIPAL //
// -------------------------------------------------------------------------------------- //
void MenuPrincipal()
{
char lcOpcion = '1';
while(lcOpcion != '0')
{
system(quot;clsquot;);
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; DISTRIBUIDORA DE ALIMENTOS quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; MENU PRINCIPAL quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; 1.- Cobrador quot;;
cout<<endl<<quot; 2.- Operaciones quot;;
cout<<endl<<quot; 0.- Salir quot;;
cout<<endl<<quot;********************************************quot;;
cout<<endl<<quot; Seleccione : quot;;
cin>>lcOpcion;
switch(lcOpcion)
{
case '1':MenuCobrador();break;
case '2':MenuOperaciones();break;
}
}
}
// --------------------------------------------------------------------------- //
// FUNCIÓN PRINCIPAL //
// --------------------------------------------------------------------------- //
6. void main()
{
MenuPrincipal();
}
// --------------------------------------------------------------------------- //
// FIN DEL PROGRAMA PRINCIPAL //
// --------------------------------------------------------------------------- //