Sie sind auf Seite 1von 43

P g i n a | 1

CONTENIDO
Pg.
OBJETVOS 4
NTRODUCCN 4
CONTRATOS DE TRABAJO 5
JORNADA LABORAL 7
SALARO 7
PAGOS QUE CONSTTUYEN SALARO 7
PAGOS QUE NO CONSTTUYEN SALARO 8
HORAS EXTRA 8
RETENCN EN LA FUENTE 11
SEGURDAD SOCAL 12
RGMEN PENSONAL 13
RGMEN DE LA SALUD 13
RGMEN DE RESGOS PROFESONALES 14
APORTES PARAFSCALES 14
APROPACONES 14
CODGO FUENTE 15
MPRESONES DE PANTALLA 43
CONCLUSONES 45
WEBGRAFAS 45
JMVM
P g i n a | 2
OBJETIVOS
Dar a conocer las pautas legales necesarias para la creacin de una
nmina empresarial.
Conocer los porcentajes de pago adecuados para la liquidacin de la
nmina empresarial.
Obtener informacin clara sobre los elementos que integran la liquidacin
de la nmina.
Evaluar el manejo de conocimientos para la programacin y realizacin de
un proyecto de nmina acorde al sistema legal vigente.
INTRODUCCIN
Las nminas de pago representan la cantidad entera pagada a todo el excedente
de los empleados al perodo de contabilizacin dado. Porque los empleados son
muy sensibles a los errores de la nmina de pago o a cualquier irregularidad,
los sistemas de la nmina de pago deben asegurar pagos exactos y oportunos.
Los expedientes exactos tambin son requeridos por las empresas pblicas y
privadas a nivel nacional y del Estado. Los gastos de la nmina de pago tienen
tpicamente un impacto significativo en la declaracin del impuesto y
ganancias. Trabajo manual, si es experto o inexperto recibe generalmente el
remuneracin en la forma de salarios. Los salarios se indican generalmente en
trminos de un precio por hora, tarifa semanal, o sobre una base del trabajo a
destajo.
Es por esta razn que en el curso de esta asignatura hemos estudiado a fondo
cada uno de los temas exigidos por el programa, en tal sentido hacemos nfasis
en la nmina de pago as como en las leyes que las rigen en nuestro pas; de all
el anlisis realizado a diferentes artculos de nuestra ley Orgnica del Trabajo y la
Ley de seguridad social integral.
QU ES UNA NMINA DE PAGO
Es una la lista conformada por el conjunto de trabajadores a los cuales se les va a
remunerar por los servicios que stos le prestan al patrn.
JMVM
P g i n a | 3
Es el instrumento que permite de una manera ordenada, realizar el pago de
sueldos o salarios a los trabajadores, as como proporcionar informacin contable
y estadstica, tanto para la empresa como para el ente encargado de regular las
relaciones laborales.
La nmina se encuentra fundamentada en partes del contenido del contrato de
trabajo, en relacin al servicio que deba prestarse y a la remuneracin, los cuales
se regirn por las siguientes normas:
El trabajador estar obligado a desempear los servicios que sean compatibles
con sus fuerzas, aptitudes, estado o condicin, y que sean del mismo gnero de
los que formen el objeto de la actividad a que se dedique el patrono; y
La remuneracin deber ser adecuada a la naturaleza y magnitud de los servicios
y no podr ser inferior al salario mnimo ni a la que se le pague por trabajos de
igual naturaleza en la regin y en la propia empresa.
Estos detalles ayudan a determinar fcilmente la prestacin del servicio y
remuneracin en aquellos contratos de trabajo donde no hubiese estipulacin
expresa, situacin que se presenta frecuentemente. Diseo de Nminas
De acuerdo a la magnitud de la empresa, se debe disear el modelo de la nmina
apropiada, el cual cambiar sustancialmente de una compaa a otra, sujeto a las
variaciones de asignaciones, deducciones, acumulativos, determinados por la
necesidad de la empresa.
CONTRATOS DE TRABAJO
1. Contrato a Trmino Fijo

Este tipo de contrato tiene una duracin entre un da y tres aos y puede ser
renovado hasta por tres veces su permanencia. El empleado goza de todas las
prestaciones sociales establecidas por la ley (cesantas, vacaciones y primas)
y para su finalizacin es necesario un preaviso de 30 das. Las deducciones
por nmina de este tipo de contrato son iguales a las de cualquier contrato de
vnculo laboral (ver artculo de descuentos legales en contratos laborales). La
vinculacin puede ser directamente con la empresa o a travs de terceros,
entidades conocidas como temporales.
2. Contrato a trmino in!"inio
Como su nombre lo ndica este tipo de contrato no tiene fecha de terminacin
establecida. El empleado goza de todas las prestaciones sociales establecidas
JMVM
P g i n a | 4
por la ley y tiene beneficios adicionales como la opcin de vinculacin a
cooperativas empresariales y ayudas especiales de acuerdo con cada
empresa; con posibilidad de optar por crditos y prstamos entre otros.
Los descuentos para este tipo de contrato son iguales a los de un contrato a
trmino fijo, ms cualquier otra deduccin autorizada por el empleado.
El contrato a trmino indefinido tendr vigencia mientras subsistan las causas
que le dieron origen, y la materia del trabajo. Con todo, el trabajador podr
darlo por terminado mediante aviso escrito con antelacin no inferior a treinta
(30) das, para que el patrono lo reemplace. En caso de no dar aviso
oportunamente o de cumplirlo solo parcialmente, se aplicar lo dispuesto en el
artculo 8o., numeral 7o., para todo el tiempo, o para el lapso dejado de
cumplir. (ARTCULO 47 CST)
3. Contrato ! O#ra o $a#or
El contrato es por una labor especfica y termina en el momento que la obra
llegue a su fin. Este tipo de vinculacin es caracterstica de trabajos de
construccin y de universidades y colegios con profesores de ctedra, que
cumplen su labor una vez haya terminado el periodo acadmico. Este contrato
es igual en trminos de beneficios y descuentos a los contratos indefinidos y
definidos, por ser un contrato laboral.
4. Contrato %i&i$ 'or 'r!(ta%i)n ! (!r&i%io(
Este tipo de contrato se celebra de manera bilateral entre una empresa y una
persona (natural o jurdica) especializada en alguna labor especfica. La
remuneracin se acuerda entre las partes y no genera relacin laboral ni
obliga a la organizacin a pagar prestaciones sociales. La duracin es
igualmente en comn acuerdo dependiendo del trabajo a realizar. El empleado
recibe un sueldo al cual se le descuenta nicamente por concepto de retencin
en la fuente.
5. Contrato ! a'r!ni*aj!
Este tipo de contrato es una forma especial de vinculacin a una empresa
y est enfocada a la formacin de practicantes, donde este recibe
herramientas acadmicas y tericas en una entidad autorizada por una
universidad o instituto, con el auspicio de una empresa patrocinadora que
suministra los medios para que el practicante adquiera formacin profesional
metdica en el oficio.
JMVM
P g i n a | 5
La idea de este tipo de contrato es el aprendizaje y que el practicante se
incluya al mundo laboral, la remuneracin es llamada auxilio de
sostenimiento y depende completamente de un convenio entre ambas partes,
donde el estudiante no tiene prestaciones sociales. El valor de la
remuneracin depende de si el practicante es universitario o no, de ser
universitario tiene derecho a un salario que debe ser superior o igual al
mnimo y si el practicante no es universitario tendr como base de pago un
salario por debajo del mnimo.
6. Contrato o%a(iona$ ! tra#ajo
Este contrato no debe ser superior a 30 das y debe ser por una labor
especfica diferente a las actividades comunes de la Compaa. El trabajador
recibe la remuneracin acordada y al terminar no tiene derecho a ningn tipo
de prestacin, salvo en caso de un accidente. La duracin del contrato puede
ser renovable sin exceder los treinta das del vnculo inicial.
JORNADA +ABORA+
Trabajo ordinario y nocturno
1. Trabajo ordinario es el que se realiza entre las seis horas (6:00 a.m.) y las
veintids horas (10:00 p.m.).
2. Trabajo nocturno es el comprendido entre las veintids horas (10:00 p.m.) y las
seis horas (6:00 a.m.).ARTCULO 160 CST
SA+ARIO
Remuneracin que recibe el trabajador por servicios prestados en forma personal,
en dinero o en especie.
El salario mnimo no es embargable pero puede ser embargado hasta en un
cincuenta por ciento (50%) en favor de cooperativas legalmente autorizadas, o
para cubrir pensiones alimenticias que se deban de conformidad con los artculos
411 y concordantes del Cdigo Civil. El valor que exceda del salario mnimo ser
embargable hasta en una quinta parte.
Pa,o( -.! %on(tit./!n (a$ario 0Q.! (on "a%tor (a$aria$1
Constituye salario no slo la remuneracin ordinaria, fija o variable, sino todo lo
que recibe el trabajador en dinero o en especie como contraprestacin directa del
servicio, sea cualquiera la forma o denominacin que se adopte, como primas,
sobresueldos, bonificaciones habituales, valor del trabajo suplementario o de las
horas extras, valor del trabajo en das de descanso obligatorio, porcentajes sobre
ventas y comisiones. (ARTCULO 127 CST).
JMVM
P g i n a | 6
Pa,o( -.! no %on(tit./!n (a$ario 0Q.! no (on "a%tor (a$aria$1
No constituyen salario las sumas que ocasionalmente y por mera liberalidad
recibe el trabajador del empleador, como primas, bonificaciones o gratificaciones
ocasionales, participacin de utilidades, excedentes de las empresas de
economa solidaria y lo que recibe en dinero o en especie no para su beneficio, ni
para enriquecer su patrimonio, sino para desempear a cabalidad sus funciones,
como gastos de representacin, medios de transporte, elementos de trabajo y
otros semejantes. Tampoco las prestaciones sociales de que tratan los ttulos V
y X, ni los beneficios o auxilios habituales u ocasionales acordados convencional
o contractualmente u otorgados en forma extralegal por el {empleador}, cuando
las partes hayan dispuesto expresamente que no constituyen salario en dinero o
en especie, tales como la alimentacin, habitacin o vestuario, las primas
extralegales, de vacaciones, de servicios o de navidad. (ARTCULO 128 CST)
Consulte: mportante recordar que los pagos no constitutivos de salario no pueden
superar el 40%.
2ORAS E3TRA
Hora extra es aquella hora que se trabaja adicional a las 8 horas diarias o a la
jornada pactada entre la partes. Si en un da se trabajan 10 horas, y se ha
pactado la jornada mxima legal, entonces tendremos 2 horas extras, que son la
que han superado el lmite de las 8 diarias.
2ora !4tra i.rna
La hora extra diurna es la que se labora entre las 6 de la maana y las 10 de la
noche y tiene un recargo del 25% sobre el valor ordinario. Por ejemplo, si la hora
ordinaria cuesta $5.000 la hora extra diurna costar $6.250 (5.000x1.25).
2ora !4tra no%t.rna
Si la hora extra es nocturna, es decir entre la 10 de la noche y las 6 de la maana,
el recargo ser del 75% sobre la hora ordinaria. Ejemplo: si la hora ordinaria
cuesta $5.000 la hora extra nocturna costar $8.750 (5.000x1.75)
R!%ar,o no%t.rno
Hace referencia al recargo que se debe pagar sobre la hora ordinaria, por el
hecho de laborar en horas nocturnas. El recargo corresponde al 35% sobre la
hora ordinaria segn lo estipula el numeral 1 del artculo 168 del cdigo sustantivo
del trabajo.
JMVM
P g i n a | 7
El recargo nocturno se paga despus de las 10 de la noche hasta las 6 de la
maana, y corresponde al solo hecho de trabajar de noche, puesto que la jornada
ordinaria se puede trabajar o bien de da o bien de noche, pero en este ltimo
caso se debe pagar un recargo del 35%. Consulte: Recargo nocturno.
R!%ar,o omini%a$ o "!(ti&o
Si un trabajador debe laborar un domingo o un festivo, debe reconocrsele un
recargo del 75% sobre la hora ordinaria, por el slo hecho de trabajar en esos
das. As lo dispone el artculo 171 del cdigo sustantivo del trabajo.
Hasta aqu se han expuesto los casos individuales, pero se puede dar una serie
de combinaciones entre los diferentes conceptos.
2ora !4tra i.rna omini%a$ o "!(ti&a
Se puede dar tambin el caso de trabajar una hora extra diurna dominical o
festiva, caso en el cual el recargo ser del 100% que corresponde al recargo del
75% por ser dominical ms el recargo del 25% por ser extra diurna (75% + 25% =
100%).
2ora !4tra no%t.rna omini%a$ o "!(ti&a
Si el trabajador labora una hora extra nocturna en un domingo o un festivo, el
recargo es del 150%, que est compuesto por el recargo dominical o festivo que
es del 75% ms el recargo por ser hora extra nocturna que es del 75%, suma que
da un 150%.
2ora omini%a$ o "!(ti&a no%t.rna
Si el trabajador, adems de laborar un domingo o un festivo, labora en las noches,
es decir, despus de las 10 de la noche, el recargo es del 110%, el cual est
compuesto por el recargo dominical del 75% mas el recargo nocturno que es del
35%, sumatoria que da el 110%.
Un '!-.!5o !j!m'$o
Un empleado con un sueldo de $1.200.000, labora desde el domingo a las 7 de la
noche hasta el lunes a las 7 de la maana.
En primer lugar debemos determinar cuntas horas de cada clase ha laborado.
De 7 de la noche a las 10 de la noche son 3 horas dominicales diurnas
JMVM
P g i n a | 8
De las 10 de la noche hasta las 12 de la noche son 2 horas dominicales nocturnas
De las 12 de la noche a las 3 de la maana son 3 horas nocturnas (ya es lunes)
(Ya hemos completado las 8 diarias, as que en adelante sern extras)
De las tres de la maana a las 6 de la maana del lunes, son 3 horas extra
nocturnas
De las 6 de la maana a las 7 de la maana del lunes, hay una hora extra diurna.
Entonces
3 horas con recargo de 75%
2 horas con recargo del 110%
3 horas con recargo del 35%
3 horas con recargo del 75%
1 hora con el recargo del 25%
Total 12 horas
Procedemos ahora a determinar el valor de la hora ordinaria, que es la que se
toma como base para calcular los recargos.
Para esto se divide el sueldo en el nmero de horas que se trabajan en un mes.
El mes est conformado por 30 das, y al da se deben trabajar 8 horas, as que el
mes tiene 240 horas (30 * 80).
1.200.000/240 = 5.000
La hora ordinaria tiene un valor de 5.000 pesos para este ejemplo.
Procedemos luego a liquidar las horas trabajadas
(5.000 * 3) * 1.75 = 26.250
(5.000 * 2) * 2.1 = 21.000
(5.000 * 3) * 1.35 = 20.250
(5.000 * 3) * 1.75 = 26.250
JMVM
P g i n a | 9
(5.000 * 1) * 1.25 = 6.250
Debe tenerse claro que el da va desde las 6 de la maana hasta las 10 de la
noche, por tanto la noche va desde las 10 de la noche hasta las 6 de la maana.
El dominical inicia a partir de las 12 de la noche del sbado y termina a las 12 de
la noche del domingo, puesto que despus de las 12 ya es lunes.
RETENCIN EN +A FUENTE
Conforme lo establece el artculo 383 del Estatuto Tributario, en concordancia con
el artculo 384, la retencin en la fuente aplicable por las personas naturales o
jurdicas, las sociedades de hecho, las comunidades organizadas y las
sucesiones ilquidas, a las personas naturales pertenecientes a la categora de
empleados de conformidad con lo establecido en el artculo 329 del mismo
Estatuto por: i) Pagos gravables, cuando provengan de unarelacin laboral o legal
y reglamentaria o por concepto de pensiones de jubilacin, invalidez, vejez, de
sobrevivientes y sobre riesgos laborales de conformidad con lo establecido en el
artculo 206, ii) Pagos o abonos en cuenta gravables, cuando se trate de
relaciones contractuales distintas a las anteriores, corresponde a la que resulte de
aplicar a dichos pagos o abonos en cuenta, segn corresponda, la siguiente tabla
de retencin en la fuente:
Rangos en UVT
Tarifa
marginal
Impuesto
Desde Hasta
>0 95 0 % $0 (cero pesos
>95 !50 !9%
(Ingreso la"oral gra#ado e$presado en UVT menos 95
UVT%!9%
> !50 &'0 ()%
(Ingreso la"oral gra#ado e$presado en UVT menos !50
UVT%()% m*s !0 UVT
>&'0 +n adelante &&%
(Ingreso la"oral gra#ado e$presado en UVT menos &'0
UVT%&&% m*s '9 UVT
JMVM
P g i n a | 10
Pargrafo 1. Las personas naturales que no pertenezcan a la categora de
empleados, cuyos pagos provengan de una relacin laboral o legal y
reglamentaria, estn sometidos a la retencin en la fuente que resulte de aplicar a
dichos pagos la tabla de retencin prevista en este artculo.
Pargrafo 2. Para efectos de la aplicacin del Procedimiento 2 a que se refiere el
artculo 386 del Estatuto Tributario, el valor del impuesto en UVT determinado de
conformidad con la tabla incluida en este artculo, se divide por el ingreso laboral
total gravado convertido a UVT, con lo cual se obtiene la tarifa de retencin
aplicable al ingreso mensual.
Pargrafo 3. Los pagos o abonos en cuenta por concepto de
honorarios, comisiones y servicios que efecten los agentes de retencin a
contribuyentes personas naturales que no pertenezcan a la categora de
empleados, seguirn sometidos a lo previsto en el artculo 392 del Estatuto
Tributario en concordancia con el Decreto 260 de 2001.
Pargrafo 4. Los pagos gravables que se efecten a los servidores pblicos
diplomticos, consulares y administrativos del Ministerio de Relaciones Exteriores
provenientes de la relacin legal y reglamentaria, estn sometidos a la retencin
prevista en este artculo, y en ningn caso se aplicar la retencin en la fuente
establecida en el artculo 384 del Estatuto Tributario. (Subrayado fuera de texto)
Como se puede advertir, la tabla de tarifas de retencin en la fuente para los
asalariados nicamente aplicara para los trabajadores independientes que
clasifican en la categora tributaria de empleados, los que no cumplan con esta
condicin estarn sometidos a las tarifas tradicionales.
"ARTCULO 1. Valor de la Unidad de Valor Tributario - UVT. Fijase en veintisis
mil ochocientos cuarenta y un pesos ($26.841) el valor de la Unidad de Valor
Tributario UVT, que regir durante el ao 2013.
SEGURIDAD SOCIA+
La ley 100/93 creo en Colombia el sistema de Seguridad Social ntegral (SSS)
constituido por tres regimenes:
a. Rgimen Pensional.
JMVM
P g i n a | 11
b. Rgimen salud.
c. Rgimen Riesgos Profesionales.
RGIMEN PENSIONA+
Ampara al trabajador contra contingencias de vejez, invalidez y muerte.
El aporte es del 16% sobre el salario del trabajador repartido as:
Empleador: 12%.
Trabajador: 4% sobre su salario.
Quienes tenga un ingreso mensual igual o superior a cuatro salarios mnimos
paga un 1.0% adicional al obligatorio para pensiones.
Quienes devengue entre 16 y 17 salarios mnimos pagan un 1.20% adicional al
obligatorio para pensiones.
Quienes devengue entre 17 y 18 salarios mnimos pagan un 1.40% adicional al
obligatorio para pensiones.
Quienes devengue entre 18 y 19 salarios mnimos pagan un 1.60% adicional al
obligatorio para pensiones.
Quienes devengue entre 19 y 20 salarios mnimos pagan un 1.80% adicional al
obligatorio para pensiones.
Quienes devengue ms de 20 salarios mnimos pagan un 2.0% adicional al
obligatorio para pensiones.
RGIMEN DE +A SA+UD
Protege al trabajador contra contingencias de enfermedad o maternidad.
El aporte es del 12.5% sobre el salario del trabajador repartido as:
Empleador: 8.5%.
Trabajador: 4% sobre su salario.
JMVM
P g i n a | 12
RGIMEN DE RIESGOS PROFESIONA+ES
Protege al trabajador contra accidentes de trabajo y enfermedades profesionales,
el aporte depende del nivel de riesgo y lo paga todo el empleador. Las empresas
utilizan por lo general el 0,522%.
APORTES PARAFISCA+ES
*Cajas de Compensacin Familiar: Son entidades sin nimo de lucro encargadas
de pagar el subsidio familiar y de brindar recreacin y bienestar social a los
trabajadores y a quienes del dependa.
El aporte es del 4% del monto total de la nmina mensual (total devengado), lo
hace el empleador.
*Servicio nacional de Aprendizaje (SENA): Es una entidad estatal encargada de la
preparacin e instruccin a los trabajadores de aquellas empresas obligadas a
contratar aprendices para labores u oficios que requieran formacin profesional
metdica.
El aporte al SENA es del 2% sobre el monto total de la nmina mensual (total
devengado), lo hace el empleador.
*nstituto Colombiano de Bienestar Familiar (CBF): Es un establecimiento pblico
de orden nacional que se encarga de la creacin y el mantenimiento de centros
para la atencin integral al pre-escolar menor de 7 aos hijos de cualquier
trabajador oficial o particular, el CBF se encarga principalmente de la atencin a
la niez desamparada.
El aporte es del 3% sobre el monto total de la nmina mensual (total devengado).
APROPIACIONES
En la liquidacin de la nmina se tienen en cuenta los siguientes conceptos.
*Cesantas: Valor reconocido al empleado por cada ao de servicio continuo
prestado a la empresa o proporcional si se retira antes del ao.
Frmula para liquidar cesantas:
Salario* nmero de das trabajados /360.
El empleador consigna cada mes el 8,33% del total devengado.
*Vacaciones: Formula:
Salario * nmero de das trabajados /720
JMVM
P g i n a | 13
El empleador consigna cada mes el 4,17% del total devengado.
*ntereses Sobre Cesantas: Todo empleador debe pagarle al trabajador unos
intereses anuales por las cesantas, y son del 12% anual sobre el monto de las
cesantas, se depositan al fondo hasta el 15 de febrero.
Liquidacin:
= Cesantas * Das Trabajados * 12% /360.
*Prima de servicios: Se pagan 15 das en junio-15 das en diciembre, el aporte es
del 8,33% sobre el total devengado.
Salario* nmero de das trabajados /360.
CODIGO FUENTE
// NOMNA EMPRESARAL
//Al ejecutarse observaremos dos opciones la primera es para que el empleado pueda
consultar y revisar su soporte de pago, y el segundo es para el jefe, el cual tiene
// 5 opciones
//1.REGSTRAR:se le pedira el numero de empleados a registrar, luego debera ingresar
nombres, edad, cedula, telefono, y la cantidad de salarios que gana el empleado.
//2.BUSCAR: en la segunda opcion se preguntara si desea ver los datos de todos los
empleados o de uno solo, si se elige la primera va a mostrar los datos de todos los
empleados
//registrados, y si elige la segunda le va a pedir la cedula del empleado que quiere buscar
y le va a msotrar los datos de ese emleado
//3.ELMNAR :aqui se eliminara un empleado a la vez para lo cual ingresamos la cedula
del empleado a eliminar.
//4.GENERAR SOPORTES: se genera el soporte de pago de un empleado despues de
evaluar la cantidad de dias laborados en el mes
//y la fecha para el dia de pago.
JMVM
P g i n a | 14
//5.SALR: salir del programa.
//EL RECBO DE PAGO:

//veremos el salario basico de empleado que se calculo multiplicando el numero de dias
que laboro por el valor que tiene un dia laborado y eso se multiplica por el numero de
salarios
//que hayan acordado al momento de registrar el usuario
//se muestra cuantos dias trabajo,descuento por salud que es el 0.4 % del salario y el
descuento de pension que tiene el mismo porcentaje de descuento y se muestra el
//sueldo neto restandole los descuentos y sumandole las horas extras y el auxilio de
trasporte.
#include<iostream>
#include<fstream>
using namespace std;
class nomina{
public:
struct empleado
{
char nombre1[15],nombre2[15],apellido1[15],apellido2[15];
long long cedula,edad,telefono,salario;
};
struct soporte
{
char m[20];
int g,a,w,aux,c,v,h,j,k,l,q,u;
//long long
salud,pension,des,sfinal,auxt,hd,hn,d,uvt,sueldo,aux1,result,retefuente,ssfinal,o,i,p,z;
JMVM
P g i n a | 15
double
salud,pension,des,sfinal,auxt,hd,hn,d,uvt,sueldo,aux1,result,retefuente,ssfinal,o,i,p,z;
};
struct pasos
{
char m[20];
float s;
int n,x,a,t,w,g,opcion,cont,b,y,band;

};
void funcion (void);
void total (empleado [],pasos,soporte);
void pagos (empleado [],soporte );
void menu (pasos,soporte,empleado []);
void Registrar(empleado [],pasos,soporte);
void Eliminar(empleado [],pasos,soporte);
void Buscar(empleado [],pasos,soporte);
};
void nomina::menu (pasos y,soporte f,empleado q[]){
y.w=0000;
system ("color 21");
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " NOMNA EMPRESARAL " << endl<<endl;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system("pause");
menu:
system ("cls");
JMVM
P g i n a | 16
cout << " BENVENDO " <<endl<<endl;
cout << " 1.EMPLEADO " << endl << endl;
cout << " 2.JEFE " << endl <<endl;
cout << " 3.SALR " << endl <<endl;
cout << " ";
cin >> y.x;
cout << endl;
switch (y.x){
case 1 :
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " MENU EMPLEADO " << endl;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system("pause");
pagos(q,f);
break;
case 2 :
menu9:
system ("cls");
cout << " Bienvenido ngrese Su Contrasena Por Favor "<<endl;
cin>>y.t;
if (y.t!=y.w){
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " La Contrasena Es ncorrecta " << endl<<endl<<endl;
cout<< " Si olvido su contrasea por favor contacte al departamento de soporte T
"<<endl<<endl<<endl;
system("pause");
JMVM
P g i n a | 17
goto menu9;
}
else {
cout << endl;
menu1:
system ("cls");
cout << " MENU JEFE " << endl<<endl;
cout << " 1.REGSTRAR DATOS DEL EMPLEADO " << endl;
cout << " 2.BUSCAR DATOS DEL EMPLEADO " << endl;
cout << " 3.ELMNAR EMPLEADO " << endl;
cout << " 4.GENERAR RECBO " << endl;
cout << " 5.SALR " << endl<<endl;
cout << " ELJA UNA OPCON " << endl << endl;
cout << " ";
cin >> y.opcion;
cout << endl;
switch (y.opcion){
case 1: Registrar(q,y,f);
goto menu1;
break;
case 2: Buscar(q,y,f);
goto menu1;
break;
case 3: Eliminar(q,y,f);
goto menu1;
cout << endl << endl;
break;
JMVM
P g i n a | 18
case 4:
system ("cls");
total(q,y,f);
goto menu1;
break;
case 5 :
system ("cls");
cout<<"Esta saliendo del
aplicativo"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("PAUSE");
goto menu;
break;
}
break;
case 3 :
cout<<endl<<endl<<endl<<endl;
cout<<"Hasta Luego..."<<endl<<endl<<endl<<endl;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<"Software realizado por Jan Maikol vargas
Mendoza"<<endl<<endl<<endl<<endl;
cout<<"Codigo: 20122078117"<<endl<<endl<<endl<<endl;
cout<<"Grupo 301"<<endl<<endl<<endl<<endl;
system("PAUSE");
system ("cls");
break;
default :
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
JMVM
P g i n a | 19

cout << " Seleccione una opcion valida por favor. " << endl;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system("pause");
goto menu;
break;
}
}
}
void nomina::Registrar(empleado x[], pasos f,soporte y){
y.aux=0;
f.cont=0;
ifstream feut ("contador.txt", ios::in);
if (feut.fail()){
cout << "Error al abrir el archivo" << endl;
}
else {
feut>>y.aux;
}
feut.close();
ofstream fout("nomina.txt",ios::out|ios::app);
main:
system("cls");
cout << " Cuantos empleados desea registrar " << endl;
cout << " ";
JMVM
P g i n a | 20
cin >> f.n;
if (f.n<=0){
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " Cuantos empleados desea registrar " << endl;
system("pause");
goto main;
}
else {
f.cont=y.aux+f.n;
system("cls");
for(int i=y.aux;i<f.cont;i++)
{
system ("cls");
cout << endl;
cout<<"ngrese los datos del "<<i+1<<" empleado: "<<endl;
cout << endl << endl;
cout<<"Primer Nombre"<<endl<< endl;
fflush (stdin);
gets(x[i].nombre1);
cout << endl;
cout<<"Segundo Nombre"<<endl<< endl;
fflush (stdin);
gets(x[i].nombre2);
cout << endl;
cout<<"Primer Apellido"<<endl<< endl;
fflush (stdin);
JMVM
P g i n a | 21
gets(x[i].apellido1);
cout << endl;
cout<<"Segundo Apellido"<<endl<< endl;
fflush (stdin);
gets(x[i].apellido2);
cout << endl;
cout << "Digite la Cedula:" << endl;
cout << endl;
cin>>x[i].cedula;
for (int j=0; j<=f.cont;j++){
while(x[j].cedula==x[j+1].cedula){
cout << "El numero de cedula ya esta en el sistema" << endl;
cout << "Por favor digite el numero de cedula:" << endl;
cout << endl;
cin>>x[i].cedula;}}
fout << x[i].cedula <<endl;
fout << x[i].nombre1 <<" " <<x[i].nombre2 <<" " <<x[i].apellido1 <<" " <<x[i].apellido2 <<
endl;
cout << endl;
cout << "Digite Edad" << endl;
cout << endl;
cin>> x[i].edad;
fout << x[i].edad <<endl;
cout << endl;
cout << "Digite Telefono" << endl<<endl;
cin>>x[i].telefono;
fout << x[i].telefono << endl;
cout << endl;
JMVM
P g i n a | 22
fflush (stdin);
cout << endl<<endl;
menu1:
system("cls");
cout << " CUANTOS SALAROS MNMOS RECBE " << endl ;
cout << " ";
cin>>x[i].salario;
if (x[i].salario>25){
system ("cls");
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " SEGUN ESTATUTOS LEGALES UN EMPLEADO NO SE PUEDE
GANAR MAS DE 25 SMMLV " << endl;
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("PAUSE");
goto menu1;
}
fout<<x[i].salario<<endl;
}
fout.close();
ofstream faut ("cantidad_empleados.txt", ios::out);
y.aux=y.aux+f.n;
faut << y.aux << endl;
faut.close();
}
}
void nomina::Buscar(empleado x[], pasos f,soporte y){
ifstream fout ("nomina.txt", ios::in);
ifstream faut ("cantidad_empleados.txt", ios::in);
JMVM
P g i n a | 23
faut>>y.aux;
faut.close();
menu:
system ("cls");
cout << " Buscar Datos " << endl;
cout << endl<<endl;
cout << " 1.DATOS DE TODOS LOS EMPLEADOS" << endl;
cout << " 2.DATOS DE UN SOLO EMPLEADO"<<endl;
cout << " 3.REGRESAR " << endl;
cin>>f.y;
switch (f.y){
case 1:
for (int i=1;i<=y.aux;i++){
x[i].cedula=x[i].edad=x[i].telefono=f.b=0;
fout>>x[i].cedula>>x[i].nombre1>>x[i].nombre2>>x[i].apellido1>>x[i].apellido2>>x[i].edad>
>x[i].telefono>>x[i].salario;
system ("cls");
cout << " Datos Del " << i << " Empleado " << endl;
cout << endl<<endl;
cout << "NOMBRE : " << endl<<endl;
cout << x[i].nombre1<< " " << x[i].nombre2 << " " << x[i].apellido1 << " " << x[i].apellido2
<<endl<<endl;
cout << "CEDULA : " << endl<<endl;
cout << x[i].cedula << endl<<endl;
cout << "EDAD : " << endl<<endl;;
cout << x[i].edad<<endl<<endl;
cout << "NUMERO TELEFONCO : " << endl<<endl;
cout << x[i].telefono << endl<<endl;
JMVM
P g i n a | 24
cout << "RECBE " <<x[i].salario<< " SALARO/S MNMO/S"<<endl<<endl<<endl;
system ("pause");
}
break;
case 2:
system ("cls");
cout << "ngrese Numero De Cedula " << endl << endl;
cin>>y.p;
for (int i=1;i<=y.aux;i++){
fout>>x[i].cedula>>x[i].nombre1>>x[i].nombre2>>x[i].apellido1>>x[i].apellido2>>x[i].edad>
>x[i].telefono>>f.b;
if (y.p==x[i].cedula){
system ("cls");
cout << " Datos Del Empleado " << endl;
cout << endl<<endl;
cout << "NOMBRE : " << endl<<endl;
cout << x[i].nombre1<< " " << x[i].nombre2 << " " << x[i].apellido1 << " " << x[i].apellido2
<<endl<<endl;
cout << "CEDULA : " << endl<<endl;
cout << x[i].cedula << endl<<endl;
cout << "EDAD : " << endl<<endl;;
cout << x[i].edad<<endl<<endl;
cout << "NUMERO TELEFONCO : " << endl<<endl;
cout << x[i].telefono << endl<<endl<<endl;
cout << "RECBE " <<x[i].salario<< " SALARO/S MNMO/S"<<endl<<endl<<endl;
system ("pause");
}
}
JMVM
P g i n a | 25
break;
case 3 :
break;
default :
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " ngrese una opcion de las presentadas en el menu " << endl;
system("pause");
goto menu;
break;
}
fout.close();
}
void nomina :: Eliminar(empleado x[],pasos f,soporte y){
f.band=0;
ofstream fout ("temporal1.txt",ios::out);
ifstream fcin ("nomina.txt",ios::in);
ifstream faut ("cantidad_empleados.txt", ios::in);
faut>>y.aux;
faut.close();
system("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " ngrese La Cedula " <<endl;
cout << " ";
cin>>y.p;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
for (int i=1;i<=y.aux;i++){
JMVM
P g i n a | 26
fcin>>x[i].cedula>>x[i].nombre1>>x[i].nombre2>>x[i].apellido1>>x[i].apellido2>>x[i].edad>
>x[i].telefono>>x[i].salario;
if (y.p!=x[i].cedula){
fout<<x[i].cedula<<endl<<x[i].nombre1<<endl<<x[i].nombre2<<endl<<x[i].apellido1<<endl
<<x[i].apellido2<<endl<<x[i].edad<<endl<<x[i].telefono<<endl<<x[i].salario<<endl<<endl;
}
if (y.p==x[i].cedula){
system("cls");
cout<< endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " Empleado Eliminado " <<endl;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system("pause");
ofstream salida ("cantidad_empleados.txt",ios::out);
y.aux=y.aux-1;
salida<<y.aux<<endl;
salida.close();
x[i].cedula=x[i].edad=x[i].telefono=x[i].salario=0;
f.band=i+1;
for (int j=f.band; j<=y.aux; j++)
fout<<x[j].cedula<<endl<<x[j].nombre1<<endl<<x[j].nombre2<<endl<<x[j].apellido1<<endl
<<x[j].apellido2<<endl<<x[j].edad<<endl<<x[j].telefono<<endl<<x[j].salario<<endl<<endl;
}
}
fout.close();
fcin.close();
remove ("nomina.txt");
rename("temporal1.txt","nomina.txt");
ifstream fentrada ("nomina.txt",ios::in);
JMVM
P g i n a | 27
ofstream fsalida ("temporal1.txt",ios::out);
for(int i=1; i<=y.aux; i++){
fentrada>>x[i].cedula>>x[i].nombre1>>x[i].nombre2>>x[i].apellido1>>x[i].apellido2>>x[i].e
dad>>x[i].telefono>>x[i].salario;
if (x[i].cedula!=0)
fsalida<<x[i].cedula<<endl<<x[i].nombre1<<endl<<x[i].nombre2<<endl<<x[i].apellido1<<e
ndl<<x[i].apellido2<<endl<<x[i].edad<<endl<<x[i].telefono<<endl<<x[i].salario<<endl<<en
dl;
}
fsalida.close();
fentrada.close();
remove ("nomina.txt");
rename("temporal1.txt","nomina.txt");
}
void nomina :: total (empleado f[],pasos x,soporte y){
y.auxt=2350,y.salud=0,y.pension=0,y.des=0,y.sfinal=0,y.ssfinal=0,y.sueldo=0,y.g=0,y.o=0,y
.h=0,y.u=0,y.j=0,y.k=0,y.l=0,y.hd=2456,y.hn=3315,y.d=8*y.hd,y.uvt=26841;
ifstream fout ("nomina.txt",ios::in);
ifstream faut ("cantidad_empleados.txt", ios::in);
faut>>y.aux;
faut.close();
system("cls");
cout << " ngrese La Cedula " <<endl;
cout <<endl;
cin>>y.z;
for (int i=1;i<=y.aux;i++){
fout>>f[i].cedula>>f[i].nombre1>>f[i].nombre2>>f[i].apellido1>>f[i].apellido2>>f[i].edad>>f[i
].telefono>>f[i].salario;
if (y.z==f[i].cedula){
JMVM
P g i n a | 28
menu3:
system("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " RECBO DE PAGO DEL " << i << " EMPLEADO " << endl;
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("pause");
system ("cls");
cout << " CADA CUANTO RECBE SUELDO " << endl;
cout << " 1.Quincenal"<<endl;
cout << " 2.Mensual"<<endl;
cout << " ";
cin>>y.q;
switch (y.q){
case 1:
menu2:
system("cls");
cout << " CUANTOS DAS TRABAJO "<<endl;
cout << " ";
cin>>y.a;
y.auxt=y.auxt*y.a;
if (y.a>15){
system ("cls");
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " UNA QUNCENA SOLO TENE 15 DAS... VERFQUE POR
FAVOR " << endl;
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("PAUSE");
goto menu2;
JMVM
P g i n a | 29
}
break;
case 2:
menu4:
system("cls");
cout << " CUANTOS DAS TRABAJO "<<endl;
cout << " ";
cin>>y.a;
y.auxt=y.auxt*y.a;
if (y.a>30){
system ("cls");
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " UN MES SOLO TENE 30 DAS.... VERFQUE POR FAVOR
" << endl;
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("PAUSE");
goto menu4;
}
break;
default :
system ("cls");
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " ESTA OPCON NO ES VALDA " << endl;
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
system ("PAUSE");
goto menu3;
}
menu7:
JMVM
P g i n a | 30
system("cls");
cout << " TRABAJO HORAS EXTRAS?? " << endl;
cout << " 1.S"<<endl;
cout << " 2.NO" << endl;
cout << " ";
cin >>x.x;
x.s=y.d*y.a;
y.sueldo=f[i].salario*x.s;
y.salud=y.sueldo*0.04;
y.sfinal=y.sueldo+y.auxt-y.salud-y.salud-y.retefuente;
switch (x.x){
case 1 :
menu:
system ("cls");
cout << " MENU DE NFORMACON" << endl<<endl;
cout << " 1.nformacion Sobre Las Horas Extras"<<endl;
cout << " 2.Hora Extra Nocturna De Dia Festivo"<< endl;
cout << " 3.Hora Extra Diurna De Dia Festivo"<<endl;
cout << " 4.Hora De Dia Festivo"<<endl;
cout << " 5.Hora Extra Nocturna"<<endl;
cout << " 6.Hora Extra Diurna"<<endl;
cout << " 7.Continuar..."<<endl<<endl;
cout << " ";
cin>>y.v;
switch (y.v){
case 1 : system ("cls");
cout << " NFORMACON "<<endl;
JMVM
P g i n a | 31
cout <<endl<<endl<<endl<<endl;
cout << "-Hora Extra Nocturna En Dominical O Festivo: Hora Ordinaria x
2.50"<<endl<<endl<<endl;
cout << "-Hora Extra Diurna En Dominical O Festiva: Hora Ordinaria x
2.00"<<endl<<endl<<endl;
cout << "-Hora Ordinaria Dominical O Festivo: Hora Ordinaria x
1.75"<<endl<<endl<<endl;
cout << "-Hora Extra Nocturna Comprendido Entre Las 10:00 p.m. Y Las 6:00 a.m:Hora
Ordinaria x 1.75" << endl<<endl<<endl;
cout << "-Hora Extra Diurna Que Se Realiza Entre Las 6:00 a.m Y Las 10:00 p.m: Hora
Ordinaria x 1.25" << endl<<endl<<endl<<endl;
system ("pause");
goto menu;
break;
case 2 : system ("cls");
cout << " Cuantas Horas Extras Trabajo "<<endl;
cout << " ";
cin>>y.h;
goto menu;
break;
case 3 : system ("cls");
cout << " Cuantas Horas Extras Trabajo "<<endl;
cout << " ";
cin>>y.u;
goto menu;
break;
case 4 : system ("cls");
cout << " Cuantas Horas Extras Trabajo "<<endl;
cout << " ";
JMVM
P g i n a | 32
cin>>y.j;
goto menu;
break;
case 5 : system ("cls");
cout << " Cuantas Horas Extras Trabajo "<<endl;
cout << " ";
cin>>y.k;
goto menu;
break;
case 6 : system ("cls");
cout << " Cuantas Horas Extras Trabajo "<<endl;
cout << endl<<endl;
cout << " ";
cin>>y.l;
goto menu;
break;
case 7 : system ("cls");
break;
default : system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " opcion incorrecta "<<endl;
system ("pause");
goto menu;
break;
}
break;
case 2:
JMVM
P g i n a | 33
break;
default : system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " opcion incorrecta "<<endl;
system ("pause");
goto menu7;
break;
}
menu6:
system("cls");
cout << " NGRESE LA FECHA POR FAVOR " << endl;
cout << "DA : " << endl << endl;
cin>>y.w;
if (y.w>31){
system ("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " UN MES NO TENE MAS DE 31 DAS "<<endl;
system ("pause");
goto menu6;
}
cout << endl;
cout << "MES : " << endl << endl;
fflush(stdin);
gets(y.m);
cout << endl;
cout << "ANO : " << endl << endl;
cin>>y.p;
JMVM
P g i n a | 34
if (y.sueldo<95*y.uvt){
y.retefuente=0;
}
if (y.sueldo>95*y.uvt && y.sueldo < 150*y.uvt){
y.retefuente=y.sueldo*0.19;
}
if(y.sueldo>150*y.uvt && y.sueldo<360*y.uvt){
y.retefuente=y.sueldo*0.28;
}
if(y.sueldo>360*y.uvt){
y.retefuente=y.sueldo*0.33;
}
y.sfinal=y.sueldo+y.auxt-y.salud-y.salud-y.retefuente;
y.ssfinal=y.sfinal+y.h*6140+y.u*4912+y.j*4298+y.k*4298+y.l*3070;
y.g=y.h+y.u+y.j+y.k+y.l;
y.o=y.h*6140+y.u*4912+y.j*4298+y.k*4298+y.l*3070;
ifstream fout ("nomina.txt",ios::in);
ifstream faut ("cantidad_empleados.txt", ios::in);
faut>>y.aux;
faut.close();
for (int i=1;i<=y.aux;i++){
fout>>f[i].cedula>>f[i].nombre1>>f[i].nombre2>>f[i].apellido1>>f[i].apellido2>>f[i].edad>>f[i
].telefono>>f[i].salario;
if (y.z==f[i].cedula){
system ("cls");
ofstream fout("soportes de pago de la empresa.txt",ios::out|ios::app);
cout << "********************************************************************************"<<endl;
cout << " RECBO DE PAGO "<< endl;
JMVM
P g i n a | 35
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " NOMBRE | CEDULA | TELEFONO ";
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " "<<f[i].nombre1<<" "<<f[i].nombre2<<" "<<f[i].apellido1<<" "<<f[i].apellido2<<"
| "<< f[i].cedula <<" | "<< f[i].telefono <<" "<<endl;
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " SALARO | DAS | EXTRAS | TRANSPORTE | SALUD | PENSON |
RETEFUENTE | TOTAL ";
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " " <<y.sueldo<<" | "<< y.a << " | "<<y.g<<"=" <<y.o<< " | " << y.auxt << " | "
<< y.salud << " | " << y.salud << " | " << y.retefuente << " | " << y.ssfinal << " " ;
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << "______________________________________
"<<endl;
cout << " DA | MES | ANO | ";
cout << "______________________________________ FRMA :
"<<endl;
cout << " " << y.w<< " | "<<y.m<<" | "<<y.p<<" | _________________";
cout << "__________________________________________________
"<<endl<<endl;
cout << "********************************************************************************";
system ("pause");
fout << "********************************************************************************"<<endl;
fout << " RECBO DE PAGO "<< endl;
JMVM
P g i n a | 36
fout <<
"_______________________________________________________________________
_________"<<endl;
fout << " NOMBRE | CEDULA | TELEFONO "<<endl;
fout <<
"_______________________________________________________________________
_________"<<endl;
fout << " "<<f[i].nombre1<<" "<<f[i].nombre2<<" "<<f[i].apellido1<<" "<<f[i].apellido2<<"
| "<< f[i].cedula <<" | "<< f[i].telefono <<" "<<endl;
fout <<
"_______________________________________________________________________
_________"<<endl;
fout << " SALARO | DAS | EXTRAS | TRANSPORTE | SALUD | PENSON |
RETEFUENTE | TOTAL "<<endl;
fout <<
"_______________________________________________________________________
_________"<<endl;
fout << " " <<y.sueldo<<" | "<< y.a << " | "<<y.g<<"=" <<y.o<< " | " << y.auxt << " | "
<< y.salud << " | " << y.salud << " | " << y.retefuente << " | " << y.ssfinal << " "
<<endl;
fout <<
"_______________________________________________________________________
_________"<<endl;
fout << "______________________________________
"<<endl;
fout << " DA | MES | ANO | "<<endl;
fout << "______________________________________ FRMA :
"<<endl;
fout << " " << y.w<< " | "<<y.m<<" | "<<y.p<<" | "<<endl;
fout << "______________________________________
"<<endl<<endl;
fout <<
"********************************************************************************"<<endl<<endl<<e
ndl;
fout.close();
ofstream sout("recibo individual.txt", ios::out);
JMVM
P g i n a | 37
sout << y.z << endl <<
y.sueldo<<endl<<y.a<<endl<<y.g<<endl<<y.o<<endl<<y.auxt<<endl<<y.salud<<endl<<y.s
alud<<endl<<y.retefuente<<endl<<y.ssfinal<<endl;
sout<< y.w<<endl<<y.m<<endl<<y.p<<endl<<endl<<endl;
sout.close();
}
}
fout.close();
}
}
fout.close();
}
void nomina::pagos (empleado f[],soporte y){
y.salud=0,y.pension=0,y.des=0,y.sfinal=0,y.auxt=70500,y.hd=2456,y.hn=3315,y.d=8*y.hd,y
.uvt=26841;
system("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " ngrese La Cedula " <<endl;
cout <<endl<<endl;
cout << " ";
cin>>y.c;
cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
ifstream sout("recibo individual.txt", ios::in);
sout>>y.z>>y.sueldo>>y.a>>y.g>>y.o>>y.auxt>>y.salud>>y.salud>>y.retefuente>>y.ssfinal
;
sout>>y.w>>y.m>>y.p;
sout.close();
ifstream fout ("nomina.txt",ios::in);
ifstream faut ("cantidad_empleados.txt", ios::in);
JMVM
P g i n a | 38
faut>>y.aux;
faut.close();
system("pause");
for (int i=1;i<=y.aux;i++){
fout>>f[i].cedula>>f[i].nombre1>>f[i].nombre2>>f[i].apellido1>>f[i].apellido2>>f[i].edad>>f[i
].telefono>>f[i].salario;
if (y.c==f[i].cedula){
if (y.c==y.z){
system("cls");
cout << "********************************************************************************"<<endl;
cout << " RECBO DE PAGO "<< endl;
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " NOMBRE | CEDULA | TELEFONO ";
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " "<<f[i].nombre1<<" "<<f[i].nombre2<<" "<<f[i].apellido1<<" "<<f[i].apellido2<<"
| "<< f[i].cedula <<" | "<< f[i].telefono <<" "<<endl;
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " SALARO | DAS | EXTRAS | TRANSPORTE | SALUD | PENSON |
RETEFUENTE | TOTAL ";
cout <<
"_______________________________________________________________________
_________"<<endl;
cout << " " <<y.sueldo<<" | "<< y.a << " | "<<y.g<<"=" <<y.o<< " | " << y.auxt << " | " <<
y.salud << " | " << y.salud << " | " << y.retefuente << " | " << y.ssfinal << " " ;
cout <<
"_______________________________________________________________________
_________"<<endl;
JMVM
P g i n a | 39
cout << "______________________________________
"<<endl;
cout << " DA | MES | ANO | ";
cout << "______________________________________ FRMA :
"<<endl;
cout << " " << y.w<< " | "<<y.m<<" | "<<y.p<<" | _________________";
cout << "__________________________________________________
"<<endl<<endl;
cout << "********************************************************************************";
system ("pause");
ofstream tout("recibo personal.txt", ios::out);
tout << "********************************************************************************"<<endl;
tout << " RECBO DE PAGO "<< endl;
tout <<
"_______________________________________________________________________
_________"<<endl;
tout << " NOMBRE | CEDULA | TELEFONO "<<endl;
tout <<
"_______________________________________________________________________
_________"<<endl;
tout << " "<<f[i].nombre1<<" "<<f[i].nombre2<<" "<<f[i].apellido1<<" "<<f[i].apellido2<<"
| "<< f[i].cedula <<" | "<< f[i].telefono <<" "<<endl;
tout <<
"_______________________________________________________________________
_________"<<endl;
tout << " SALARO | DAS | EXTRAS | TRANSPORTE | SALUD | PENSON |
RETEFUENTE | TOTAL "<<endl;
tout <<
"_______________________________________________________________________
_________"<<endl;
tout << " " <<y.sueldo<<" | "<< y.a << " | "<<y.g<<"=" <<y.o<< " | " << y.auxt << " | " <<
y.salud << " | " << y.salud << " | " << y.retefuente << " | " << y.ssfinal << " "<<endl;
JMVM
P g i n a | 40
tout <<
"_______________________________________________________________________
_________"<<endl;
tout << "______________________________________
"<<endl;
tout << " DA | MES | ANO | "<<endl;
tout << "______________________________________ FRMA :
"<<endl;
tout << " " << y.w << " | "<< y.m <<" | "<< y.p <<" |
_________________"<<endl;
tout << "______________________________________
"<<endl<<endl;
tout <<
"********************************************************************************"<<endl<<endl<<e
ndl;
tout.close();
}
}
}
if (y.c!=y.z){
system("cls");
cout << endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << " No Existe Soporte de Pago... " <<endl;
cout <<endl;
system("pause");
}
}
int main (){
int n;
nomina::soporte x;
JMVM
P g i n a | 41
nomina::pasos y;
nomina::empleado z[n];
nomina m;
m.menu(y,x,z);
}
IMPRESIONES DE PANTA++A
JMVM
P g i n a | 42
JMVM
P g i n a | 43
CONC+USIONES
1. Una nmina es un proceso administrativo, financiero y tecnolgico que
integra los estatutos legales necesarios para la adecuada liquidacin
salarial de los empleados que ejercen fuerza productiva en una compaa.
2. La elaboracin de una nmina requiere un proceso de investigacin
detallado para permitir una adecuada comunicacin entre los organismos
que la crean y el receptor final evitando as incurrir en fallas que acarreen
consecuencias legales.
6EBGRAFIA
ESTATUTOS +ABORA+ES
http://www.gerencie.c!/n!ina.ht!"
CODIGO SUSTANTIVO DE+ TRABAJO
http://www.#ecretaria#ena$.g%.c/#ena$/&a#e$c/c$ig/c$ig'#(#tanti%'
tra&a).ht!"
JMVM

Das könnte Ihnen auch gefallen