programa pascal

Páginas: 8 (1809 palabras) Publicado: 27 de noviembre de 2014
PROGRAM VideoClub ;

{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^}

USES crt, SysUtils ;

{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^}

CONST SOCIOSDAT='SOCIOS.DAT';
VJDAT='VJUEGOS.DAT';
ALQUIDAT='ALQUI.DAT';
TARIFASDAT='TARIFAS.DAT';
iLonarTarifas=5;

TYPE
tsCad10=string[10];tsCad20=string[20];
tsCad40=string[40];

trgNomAp=RECORD
sAp1:tscad20;
sAp2:tscad20;
sNom:tscad20;
END;

trgSocio=RECORD
iNumSocio:integer;
iClave:integer;
rgNomAp:trgNomAp;
rSaldo:real;
END;
tarSocio=ARRAY [1..100] OF trgSocio;
tfSocio= FILE OF trgSocio;

trgVJ=RECORD
SCodigo:tscad10;sTitulo:tscad40;
sFecha:tscad10;
cEstado:char;
END;
tarVJ=ARRAY [1..200] OF trgVJ;
tfVJ=FILE OF trgVJ;


trgVJA=RECORD
sCodigo:tscad10;
iNumSocio:integer;
sFecha:tscad10;
sHora:tscad10;
END;
tarVJA=ARRAY [1..200] OF trgVJA;
tfVJA=FILE OF trgVJA;

trgTarifas=RECORD
iNumHoras:integer;
rPrecio:real;
END;tarTarifas=ARRAY [1..5] OF trgTarifas;
tfTarifas=FILE OF trgTarifas;

tarAnyo=ARRAY[1..200] OF integer;
tarGenero=ARRAY [1..200] OF char;
tarError=ARRAY [1..200] OF integer;


{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^}
VAR
fVJ:tfVJ;
fVJA:tfVJA;
fSocio:tfSocio;
rgSocio:trgSocio;
rgVJADesp:trgVJA;
fTarifas:tfTarifas;
arTarifas:tarTarifas;
nSocio,iTipoError,
iNumUltSocio,
iPosSocio,iPosSocioA, iNumSocio:integer;
rPrecio,rHorasTransc:real;
cOpcion1,cOpcion2:char;
sFechaA,sHoraA,sFechaD,sHoraD:tsCad10;

{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^}
PROCEDURE Volcar_a_Array(VAR fTarifas:tfTarifas; VAR arTarifas:tarTarifas);
VAR i:integer;
BEGIN
Assign(fTarifas,TARIFASDAT);
Reset(fTarifas);Seek(fTarifas,0);
FOR i:=1 TO iLonarTarifas DO
Read(fTarifas,arTarifas[i]);
Close(fTarifas);
END;
{----------------------------------------}
FUNCTION Leer_Num_Socio(nSocio:integer):integer;
BEGIN
Write(' Leer N',chr(167),' Socio: ');
Readln(nSocio);
Leer_Num_Socio:=nSocio;
END;
{--------------------------}

PROCEDURE Expulsar_Tarjeta;
BEGIN
Writeln;
Writeln(' Tarjetaexpulsada.');
Readln;
END;

{--------------------------}

PROCEDURE Datos_Socio (CONST nSocio:integer; VAR fSocio:tfSocio; VAR iTipoError:integer; VAR iPosSocio:integer);
VAR
bo1:boolean;
iClave, u,i,iLonarSocio:integer;
arSocio:tarSocio;
BEGIN
bo1:=FALSE;
Assign(fSocio,SOCIOSDAT);
Reset(fSocio);
iLonarSocio:=Filesize(fSocio);
FOR u:=1 TO iLonarSocio DO
Read(fSocio,arSocio[u]);close(fSocio);
FOR i:=1 TO iLonarSocio DO
BEGIN
IF arSocio[i].iNumSocio=nSocio THEN
BEGIN
bo1:=TRUE;
iPosSocio:=i;
clrscr;
Write('Introduzca su clave: ');
Readln(iClave);

IF iClave=(arSocio[iPosSocio].iClave) THEN
iTipoError:=0
ELSE
BEGIN
Writeln;
Write (' Clave incorrecta');
Write (' Vuelva a introducir su clave: ');
Readln (iClave);
IFiClave=arSocio[iPosSocio].iClave THEN
iTipoError:=0
ELSE
BEGIN
Writeln;
Writeln(' Clave incorrecta');
Write (' Vuelva a introducir su clave: ');
Readln (iClave);
IF iClave=arSocio[iPosSocio].iClave THEN
iTipoError:=0
ELSE
iTipoError:=2;
END;
END;
END;
END;
IF bo1=FALSE THEN
iTipoError:=1
END;{----------------------------------------}
PROCEDURE Alta_Socio (VAR fSocio:tfSocio;VAR iNumUltSocio:integer);
VAR
rgNsocio:trgSocio;
BEGIN
Assign(fSocio,SOCIOSDAT);
{$I-}
Reset(fSocio);
{$I+}
IF IOResult0 THEN
Rewrite (fSocio);
iNumUltSocio:=iNumUltSocio+1;
Writeln;
Write (' Introduzca el 1',chr(167),' Apellido: ');
Readln (rgNSocio.rgNomAp.sAp1);
Write (' Introduzca el 2',chr(167),' Apellido:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programas de pascal
  • Programas pascal
  • programas en pascal
  • Programas de pascal
  • Programa Pascal
  • Programas en pascal
  • Programas diseñados en pascal
  • Programa burbuja de pascal

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS