Este programa permite gestionar usuarios y pagos almacenados en archivos de datos. Ofrece un menú con opciones para capturar, mostrar, buscar y eliminar información de usuarios y pagos. Utiliza registros, archivos de datos y varias funciones para realizar las operaciones de lectura, escritura, búsqueda y eliminación sobre los datos almacenados.
2. gotoxy(3,2);
write('Por favor digite su contrasena: ');
textcolor(red);
readln(con);
textcolor(white);
while (con<>'jonathanvelandia') do
begin
gotoxy(3,4);
write('Contrasena ingresada incorrecta.');
gotoxy(3,5);
write('Por favor digite de nuevo su contrasena: ');
textcolor(red);
readln(con);
clreol;
textcolor(white);
end;
clrscr;
if (con='jonathanvelandia') then
begin
gotoxy(3,2);
writeln('Datos a eliminar, USUARIOS o PAGOS: ');
gotoxy(3,4);
readln(eliminar);
if (eliminar='usuarios') or (eliminar='USUARIOS') then
begin
gotoxy (3,6);
write('ESTA SEGURO QUE DESEA ELIMINAR SU
INFORMACION???');
gotoxy(3,7);
write('Para confirmar pulse "S" de lo contrario "N": ');
readln(eliminar);
if (eliminar='s') or (eliminar='S') then
begin
rewrite(usuarios);
3. gotoxy (3,9);
write('Tu lista de usuarios a sido eliminada.')
end;
end;
if (eliminar='pagos') or (eliminar='PAGOS') then
begin
gotoxy(3,6);
write('ESTA SEGURO QUE DESEA ELIMINAR SU
INFORMACION???');
gotoxy(3,7);
write('Para confirmar pulse "S" de lo contrario "N": ');
readln(eliminar);
if (eliminar='s') or (eliminar='S') then
begin
rewrite(pagos);
gotoxy (3,9);
write('Tu lista de pagos a sido eliminada.')
end;
end;
end;
end;
procedure capturausuarios;
begin
res:='s';
while (res='s') or (res='S') do
begin
clrscr;
c:=filesize(usuarios);
seek(usuarios,c);
gotoxy (3,2);
write('Usuario ',c,':');
gotoxy (3,4);
write('Digite identificacion del usuario: ');
readln(regusuarios.idusuario);
gotoxy (3,5);
4. write('Digite nombre del usuario : ');
readln(regusuarios.nomusuario);
gotoxy (3,6);
write('Digite edad del usuario : ');
readln(regusuarios.edadusuario);
write(usuarios,regusuarios);
clrscr;
gotoxy (3,2);
write('Desea ingresar mas usuarios???');
gotoxy (3,3);
write('s/n: ');
readln(res);
end;
end;
procedure mostrarusuarios;
begin
fi:=4;
posc:=0;
c:=filesize(usuarios);
for i:=1 to c do
begin
seek(usuarios,posc);
read(usuarios,regusuarios);
gotoxy (3,2);
write('Identificacion');
gotoxy (3,fi);
write(regusuarios.idusuario);
gotoxy (25,2);
write('Nombre');
gotoxy (25,fi);
write(regusuarios.nomusuario);
gotoxy (45,2);
write('Edad');
gotoxy (45,fi);
write(regusuarios.edadusuario);
posc:=posc+1;
5. fi:=fi+1;
if (i mod 15=0) then
begin
gotoxy(44,24);
textcolor(2);
write('Presione una tecla para continuar...');
readln;
clrscr;
fi:=4;
gotoxy(44,24);
textcolor(2);
write('Presione una tecla para continuar...');
textcolor(white);
end;
end;
end;
procedure buscarusuarios;
begin
gotoxy(3,2);
write('Digite la identificacion del usuario a buscar: ');
readln(id);
i:=0;
enc:=0;
c:=filesize(usuarios);
while (not EOF(usuarios)) do
begin
seek(usuarios,i);
read(usuarios,regusuarios);
if (regusuarios.idusuario=id) then
begin
gotoxy(3,4);
write('Usuario encontrado.');
gotoxy(3,6);
write('Nombre: ', regusuarios.nomusuario);
gotoxy(3,7);
write('Edad: ', regusuarios.edadusuario);
6. enc:=1;
end;
i:=i+1;
end;
if (enc=0) then
begin
gotoxy(3,4);
write('Usuario no encontrado.');
enc:=1;
end;
end;
procedure capturapagos;
begin
gotoxy(3,2);
write('Digite identificacion del usuario para registrar el pago: ');
readln(regpagos.idusuariopago);
j:=0;
enc:=0;
d:=filesize(pagos);
while (not EOF(usuarios)) do
begin
seek(pagos,d);
read(usuarios,regusuarios);
if (regusuarios.idusuario=regpagos.idusuariopago) then
begin
gotoxy(3,4);
write('Usuario encontrado.');
gotoxy(3,5);
write('Nombre: ', regusuarios.nomusuario);
gotoxy(3,6);
write('Edad : ', regusuarios.edadusuario);
gotoxy(3,8);
write('Digite el pago del usuario: ');
readln(regpagos.valorusuario);
gotoxy (3,9);
7. write('Digite la fecha del pago : ');
readln(regpagos.fechausuario);
write(pagos,regpagos);
enc:=1;
end;
j:=j+1;
end;
if (enc=0) then
begin
gotoxy(3,4);
write('Usuario no encontrado.');
enc:=1;
end;
end;
procedure mostrarpagos;
begin
fi:=4;
posd:=0;
d:=filesize(pagos);
for j:=1 to d do
begin
seek(pagos,posd);
read(pagos,regpagos);
gotoxy (3,2);
write('Identificacion');
gotoxy (3,fi);
write(regpagos.idusuariopago);
gotoxy (25,2);
write('Valor del pago');
gotoxy (25,fi);
write('$ ',regpagos.valorusuario:0:3);
gotoxy (45,2);
textcolor(white);
write('Fecha');
gotoxy (45,fi);
write(regpagos.fechausuario);
8. posd:=posd+1;
fi:=fi+1;
if (j mod 15=0) then
begin
gotoxy(44,24);
textcolor(2);
write('Presione una tecla para continuar...');
readln;
clrscr;
fi:=4;
gotoxy(44,24);
textcolor(2);
write('Presione una tecla para continuar...');
textcolor(white);
end;
end;
end;
procedure buscarpagos;
begin
gotoxy(3,2);
write('Digite la identificacion del usuario: ');
readln(id);
j:=0;
enc:=0;
d:=filesize(pagos);
while (not EOF(pagos)) do
begin
seek(pagos,j);
read(pagos,regpagos);
if (regpagos.idusuariopago=id) then
begin
gotoxy(3,4);
write('Pago del usuario encontrado.');
gotoxy(3,6);
write('Valor del pago: ', regpagos.valorusuario:0:3);
9. gotoxy(3,7);
write('Fecha: ', regpagos.fechausuario);
enc:=1;
end;
j:=j+1;
end;
if (enc=0) then
begin
gotoxy(3,4);
write('Pago del usuario no encontrado.');
enc:=1;
end;
end;
begin
textbackground(red);
resmenu:='s';
while (resmenu='s') or (resmenu='S') do
begin
clrscr;
begin
textcolor(white);
clrscr;
gotoxy(3,2);
write('MENU...');
gotoxy(3,4);
write('1. Ingresar usuarios.');
gotoxy(3,5);
write('2. Mostrar usuarios.');
gotoxy(3,6);
write('3. Ingresar pagos.');
gotoxy(3,7);
write('4. Mostrar pagos.');
gotoxy(3,8);
write('5. Buscar datos de usuarios.');
gotoxy(3,9);
write('6. Buscar datos de pagos.');
10. gotoxy(3,10);
write('7. Eliminacion de datos.');
gotoxy(3,11);
write('8. Salir.');
gotoxy(3,13);
write('Por favor digite la opcion que desee: ');
readln(opc);
while (opc<1) or (opc>8) do
begin
gotoxy(3,15);
write('La opcion ingresada no es la correcta.');
gotoxy(3,16);
write('Por favor digite de nuevo su opcion: ');
clreol;
readln(opc);
end;
clrscr;
assign(usuarios,'C:UsersSELLNETDesktopESTRUCTURA DE
DATOSLAZARUSARCHIVOSARCHIVO 01usuarios.dat');
assign(pagos,'C:UsersSELLNETDesktopESTRUCTURA DE
DATOSLAZARUSARCHIVOSARCHIVO 01pagos.dat');
reset(usuarios);
reset(pagos);
case opc of
1:
begin
capturausuarios;
end;
2:
begin
mostrarusuarios;
end;
3:
12. readkey;
clrscr;
gotoxy(3,2);
write('Desea volver al menu???');
gotoxy(3,3);
write('s/n: ');
readln(resmenu);
clrscr;
if resmenu='n' then
begin
gotoxy(3,2);
write('Que tenga un buen dia.');
gotoxy(3,3);
write('Presione una tecla para finalizar...');
readkey;
end;
end;
end.
__________________________________________________________
__________________________________________________________