colocar la extension






El pago
por hora según categoría es el siguiente:
v Maestro : S/. 8.00
v Oficial : S/.
6.00
v Peón : S/. 5.00
Los
descuentos serán como sigue:
v AFP :
El 10% del sueldo bruto
v EsSalud :
El 3% del sueldo bruto
El pago
por horas extras será el 40% más del pago por hora normal. El sueldo bruto será las horas normales
multiplicado por el pago por horas más el pago por horas extras correspondientes. El sueldo neto será el sueldo bruto menos los
descuentos.
Generar
los controles indicados:
ü 5
etiquetas
ü 3 cajas
de texto
ü 2 cajas
de grupo
ü 3 botones
de opción
ü 2
casillas de verificación
ü 1 botón
de comando.
|
Control
|
Propiedades
|
Valor
|
|
IDD_APP10_DIALOG
|
Caption
|
Boleta
de Pago
|
|
IDC_STATIC
IDC_STATIC
(1)
IDC_STATIC (2)
IDC_STATIC (3)
IDC_STATIC (4)
IDC_STATIC (frame1)
IDC_STATIC (frame2)
|
Caption
Caption
Caption
Caption
ID
Caption
Border
Caption
Caption
|
Nombre
del Trabajador
Horas
Normales
Horas
Extras
Resultados
IDC_RESULTADOS
“”
True
Categorías
Descuentos
|
|
IDC_EDIT1
IDC_EDIT2
IDC_EDIT3
|
ID
ID
ID
|
IDC_HORASEXTRAS
IDC_HORASNORMALES
IDC_NOMBRES
|
|
IDC_RADIO1
IDC_RADIO2
IDC_RADIO3
|
ID
Caption
Group
ID
Caption
ID
Caption
|
IDC_MAESTRO
&Maestro
True
IDC_OFICIAL
&Oficial
IDC_PEON
&Peón
|
|
IDC_CHECK1
IDC_CHECK2
|
ID
Caption
ID
Caption
|
IDC_AFP
&AFP
IDC_ESSALUD
&EsSalud
|
|
IDC_BUTTON1
|
ID
Caption
Default
button
|
IDC_CALCULAR
&Calcular
True
|
La
ventana en tiempo de diseño deberá ser similar a esta:

Ahora
procederemos a crear las variables miembros para los controles creados de la
siguiente manera:
|
Control
|
Categoría
|
Tipo
|
Nombre Variable
|
|
IDC_AFP
IDC_ESSALUD
|
Value
Value
|
BOOL
BOOL
|
m_AFP
m-EsSalud
|
|
IDC_HORASEXTRAS
IDC_HORASNORMALES
IDC_MAESTRO
|
Value
Value
Value
|
int
int
int
|
m_HorasExtras
m_HorasNormales
m_Categoría
|
|
IDC_NOMBRES
IDC_RESULTADOS
|
Value
Value
|
CString
CString
|
m_Nombres
m_Resultados
|

Los
valores mínimos y máximos para las variables m_HorasExtras y m_HorasNormales
serán de 0 y 48 respectivamente.
Ahora
agregue la función miembro OnCalcular() para el botón de comando Calcular
(IDC_CALCULAR):

En
la función creada agregue las siguientes líneas de código para los cálculos:
Void Capp10Dlg::OnCalcular()
{
UpdateData(true);
double
pagoHora = 0.00, extra = 0.00
switch
(m_Categoria)
{
case 0: pagoHora = 8;
break;
case 1: pagoHora = 6;
break;
case 2: pagoHora = 5;
}
extra = (pagoHora * 1.4) * m_HorasExtras;
double descuento1 = 0.00, descuento2 =
0.00;
char
cad[15];
m_Resultados
= “Boleta de pago del trabajador: ” + m_Nombres + “\n”;
itoa(m_HorasNormales,cad,10);
m_Resultados
= m_Resultados + “Horas Trabajadas: ” + cad + “\n”;
itoa(m_HorasExtras,cad,10);
m_Resultados
= m_Resultados + “Horas Extras: ” + cad + “\n”;
double
sueldoBruto = 0.00;
sueldoBruto
= (m_HorasNormales * pagoHora) + extra;
gcvt(sueldoBruto,
6, cad);
m_Resultados
= m_Resultados + “Sueldo Bruto : ” + cad
+ “\n”;
double
descuentoAFP = 0.00, descuentoEsSalud = 0.00;
if
(m_AFP) ││ m_EsSalud)
{
m_Resultados = m_Resultados + “Descuentos: \n”;
if (m_AFP)
{
descuentoAFP = 0.1 * sueldoBruto;
gcvt(descuentoAFP, 6, cad);
m_Resultados = m_Resultados + “AFP: ”+ cad + “\n”;
}
if
(m_EsSalud)
{
descuentoEsSalud = 0.03 * sueldoBruto;
gcvt(descuentoEsSalud, 6, cad);
m_Resultados = m_Resultados + “EsSalud:
”+ cad + “\n”;
}
}
double sueldoNeto = 0.00;
sueldoNeto = sueldoNeto – (descuentoAFP +
descuentoEsSalud);
gcvt(sueldoNeto, 6, cad);
m_Resultados =
m_Resultados + “Sueldo Neto : ”+ cad +
“\n”;
UpdateData(false);
}
Ahora
para hacer que la categoría predeterminada sea Maestro, modifique la función OnInitDialog() de la clase CApp10Dlg de la siguiente manera:
BOOL
CApp10Dlg::OnInitDialog()
{
CDialog::OnInitDialog():
// when the apllication´s main windows is not dialog
// como
la aplicaciones no son ventanas de
dialogos.
SetIcon(m_hIcon,TRUE); // Set big icon
SetIcon(m_hIcon,FALSE); //
Set small icon
GetDlgItem(IDC_NOMBRES)->SetFocus();
m_Categoria
= 0;
UpdateData(false);
return
false;
}
Presione
las teclas CTRL + F5 para ejecutar la aplicación y verá una ventana similar a
esta:

TAREA:
1)
Agregar dos comandos check para descuentos por IGV (19%) y de Casa
Comercial (10%), respectivamente.
