100% encontró este documento útil (1 voto)
191 vistas5 páginas

Programa Nomina Pascal

Este programa permite registrar los datos de empleados como nombre, sexo, horas trabajadas, sueldo por hora y total a pagar. Ofrece un menú con opciones para ingresar datos, mostrar la lista de empleados, calcular y mostrar los promedios salariales por sexo, y salir del programa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
191 vistas5 páginas

Programa Nomina Pascal

Este programa permite registrar los datos de empleados como nombre, sexo, horas trabajadas, sueldo por hora y total a pagar. Ofrece un menú con opciones para ingresar datos, mostrar la lista de empleados, calcular y mostrar los promedios salariales por sexo, y salir del programa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

program nomina;

uses

crt;

type

empleado = record

nombre : string[50];

sexo : char;

horas : real;

sueldo : real;

total : real;

end;

var

nominas : array[1..100] of empleado;

k, x, y, cont : integer;

entra : char;

procedure entrada_datos_nomina;

begin

cont := 1;

while (cont < 101) and (entra <> '0') do

begin

clrscr;

write(' Entre Nombre : ');

readln(nominas[cont].nombre);

write(' Entre Sexo [F]emenina O [M]asculino : ');

readln(nominas[cont].sexo);

nominas[cont].sexo := upcase(nominas[cont].sexo);

write(' Entre Horas : ');


readln(nominas[cont].horas);

write(' Entre Sueldo Por Hora : ');

readln(nominas[cont].sueldo);

nominas[cont].total := nominas[cont].horas * nominas[cont].sueldo;

writeln;

writeln(' Finaliza Entrando [0] Otra Continua');

entra := readkey;

if entra <> '0' then

cont := cont + 1;

end;

end;

procedure presenta_nominas;

begin

clrscr;

gotoxy(12,1);write('**** Datos De Empleados ****');

y := 3;

x := 1;

for k := 1 to cont do

begin

gotoxy(x,y);write(nominas[k].nombre);

gotoxy(x + 30,y);write(nominas[k].horas:0:2);

gotoxy(x + 40,y);write(nominas[k].sueldo:0:2);

gotoxy(x + 60,y);write(nominas[k].total:0:2);

y := y + 1;

if y > 22 then

begin

gotoxy(12,24);write('*** Pulse Una Tecla ***');

readkey;

y := 3;

clrscr;
end;

end;

gotoxy(12,24);write('*** Finalizada Lista Pulse Una Tecla ***');

readkey;

end;

procedure prersenta_medias;

var

hom, muj : real;

nm, nh, hh : integer;

begin

nm := 0;

nh := 0;

muj := 0.0;

hom := 0.0;

for hh := 1 to cont do

begin

if nominas[hh].sexo = 'F' then

begin

muj := muj + nominas[hh].total;

nm := nm + 1;

end;

if nominas[hh].sexo = 'M' then

begin

hom := hom + nominas[hh].total;

nh := nh + 1;

end;

end;

clrscr;

writeln(' ***** Las Medias Son *****');

writeln;
writeln(' La Media Del Hombre Es : ',(hom / nh):0:2);

writeln(' La Media De La Mujer Es : ',(muj / nm):0:2);

writeln;

writeln(' Pulse Una Tecla ');

readln;

end;

procedure menu;

var

sal : boolean;

tecla : char;

begin

sal := false;

repeat

clrscr;

writeln(' ****** Menu Principal ******');

writeln;

writeln(' 1 = Entrada Datos Nomina');

writeln(' 2 = Impresion Datos Empleados');

writeln(' 3 = Impresion Promedios Femenino Y Masculino');

writeln(' 4 = Salir');

writeln;

writeln(' <<<<< Elija Opcion >>>>>');

repeat

tecla := readkey;

until tecla in['1','2','3','4'];

clrscr;

case tecla of

'1' : entrada_datos_nomina;

'2' : begin

if cont > 0 then


presenta_nominas

else

begin

writeln('?????? No Datos De Nominas Pulse Una Tecla ??????');

readln;

end;

end;

'3' : begin

if cont > 0 then

prersenta_medias

else

begin

writeln('?????? No Datos De Nominas Pulse Una Tecla ??????');

readln;

end;

end;

'4' : sal := true;

end;

until sal = true;

end;

begin

cont := 0;

menu;

end.

También podría gustarte