Está en la página 1de 25

Program Banco; uses crt; Const dirClientes= 'c:\Datos Banco\No robar\Cliente.dat'; dirMovimientos= 'c:\datos Banco\No Robar\Movimientos.

dat'; dirSucursales='c:\Datos Banco\No robar\Sucursales.dat'; dirCuentas='c:\Datos Banco\No robar\cuentas.dat'; dirMovimientosClientes='c:\Datos Banco\No robar\MovClientes.dat'; M !C" = #; M !M$%=&''; M !cuenta=&''; M !cliente=&''; M !sucursal=&''; NombreNulo='('; NumeroNulo='; t)*e R+cliente=record Nombre:string,-'.; *ellido:string,-'.; direccion:string,/'.; Ncliente:longint; NSucursal:0ord;11cada cliente tiene 2ue estar en una sucursal Ndocumento:longint; end; R+movimiento=record Ncuenta:integer; Ncliente:longint; "i*oMovimiento:string,-'.; 3m*orte:integer; +stado:boolean; Nsucursal:0ord; Nmov:integer; end; R+sucursal=record 11 4uarda las sucursales Nsucursal:0ord;11Numero de sucursal Nombre:string,-'.;11Nombre 55 Direccion:string,#'.; end; R+cuenta=record Ncliente:longint;11Para *oder agregar una cuenta tiene 2ue e6istir el cliente 11se 7i8a si e6iste ) si )a tiene alguna cuenta Ncuenta:0ord;11numero de cuenta "cuenta:string,9'.; Movimiento:arra),9..M !M$%. o7 R+movimiento;11 ca se acreditan los movimientos

end; "sucursal=arra),9..M !sucursal. o7 R+sucursal; "cliente=arra),9..M !cliente. o7 R+cliente; "cuenta=arra),9..M !cuenta. o7 R+cuenta; :R+cliente=7ile o7 R+cliente; :R+movimiento= 7ile o7 R+movimiento; :R+sucursal=7ile o7 R+sucursal; :R+cuenta=7ile o7 R+cuenta;

111111111

C;e2ueo De los arc;ivos

Procedure c;e2ueo rc;ivos<var ar=cuenta::R+cuenta;var ar=cliente::R+cliente;var ar=sucursal::R+sucursal>; begin ?@3(A Reset<ar=cuenta>; ?@3BA i7 3$Result CD ' t;en begin 0riteln<' dvertencia rc;ivo de cuentas 7atanteE Creando...'>; re0rite<ar=cuenta>; readFe); end; ?@3(A Reset<ar=cliente>; ?@3BA i7 3$Result CD ' t;en begin 0riteln<' dvertencia rc;ivo de Clientes 7altanteE Creando...'>; re0rite<ar=cliente>; readFe); end; ?@3(A Reset<ar=sucursal>; ?@3BA i7 3$Result CD ' t;en begin 0riteln<' dvertencia rc;ivo de Sucursales :altanteE Creando...'>; re0rite<ar=sucursal>; readFe); end; end;

1111111111111111111G+C"HR S

*rocedure lecturaCG<var ::R+cliente; var CG:reCliente;var 7in:boolean>; begin i7 <eo7<a>> t;en begin 7in:=true; end else begin 7in:=7alse; read< ECG>; end; end; *rocedure lecturaM%<var ::R+movimiento; var CG:removimiento;var 7in:boolean>; begin i7 <eo7<a>> t;en begin 7in:=true; end else begin 7in:=7alse; read< ECG>; end; end; *rocedure lecturaSC<var ::R+sucursal; var CG:resucursal;var 7in:boolean>; begin i7 <eo7<a>> t;en begin 7in:=true; end else begin 7in:=7alse; read< ECG>; end; end; *rocedure lecturaCta<var ::R+cuenta; var CG:R+cuenta;var 7in:boolean>; begin i7 <eo7<a>> t;en begin 7in:=true; end

else begin 7in:=7alse; read< ECG>; end; end;

11111111111111111111111111 C R4 R *rocedure CargarSucursales<var ar=sucursal::R+sucursal;var "suc:"sucursal;var contador:integer>; var 7in=ar:boolean; sucursal:R+sucursal; begin contador:='; ?@3(A Reset<ar=sucursal>; ?@3BA i7 3$Result = ' t;en begin lecturaSC<ar=sucursalE sucursalE 7in=ar>; 0;ile<<not 7in=ar> and <contador C= M !sucursal>> do begin contador:=contadorB9; "suc,contador.:=sucursal; GecturaSC<ar=sucursalE sucursalE 7in=ar>; i7 <Contador = M !sucursal> t;en begin Iriteln<'Cantidad de Sucursales e6edida...'>; Iriteln<'+l *rograma continuara *ero es *osible 2ue e6*erimente *erdida de Sucursales'>; readFe); end; end; end; end; *rocedure CargarCuentas<var ar=cuenta::R+cuenta; var "cta:"cuenta;var to*e:integer>; var 7in=ar:boolean; cuenta:R+cuenta; begin "o*e:=';

?@3(A Reset<ar=cuenta>; ?@3BA i7 3$Result = ' t;en begin lecturaCta<ar=cuentaE cuentaE 7in=ar>; 0;ile<<not 7in=ar> and <to*e C= M !cuenta>> do begin to*e:=to*eB9; "cta,to*e.:=cuenta; GecturaCta<ar=cuentaE cuentaE 7in=ar>; i7 <to*e = M !cuenta> t;en begin Iriteln<'Cantidad de cuentas e6edida...'>; Iriteln<'+l *rograma continuara *ero es *osible 2ue e6*erimente *erdida de cuentas'>; readFe); end; end; end; end; *rocedure CargarClientes<var ar=cliente::R+cliente; var "cte:"cliente;var to*e:integer>; var 7in=ar:boolean; cliente:R+cliente; begin "o*e:='; ?@3(A Reset<ar=cliente>; ?@3BA i7 3$Result = ' t;en begin lecturaCl<ar=clienteE clienteE 7in=ar>; 0;ile<<not 7in=ar> and <to*e C= M !cliente>> do begin to*e:=to*eB9; "cte,to*e.:=cliente; GecturaCl<ar=clienteE clienteE 7in=ar>; i7 <to*e = M !cliente> t;en begin Iriteln<'Cantidad de clientes e6edida...'>; Iriteln<'+l *rograma continuara *ero es *osible 2ue e6*erimente *erdida de Clientes'>; readFe); end;

&

end; end; end; 1111111111111111111111111 +SCR3B3R RCJ3%$S *rocedure +scribirSC<var ar=sucursal::R+sucursal;var "suc:"sucursal; contador:integer>; var 8:integer; begin 8:=9; ?@3(A Re0rite<ar=sucursal>; ?@3BA i7 3$Result = ' t;en 0;ile<8 C= contador> do begin 0rite<ar=sucursalE"suc,8.>; 8:=8B9; end; end; *rocedure +scribirCG<var ar=cliente::R+cliente;var "cl:"cliente; to*e:integer>; var 8:integer; begin 8:=9; ?@3(A Re0rite<ar=cliente>; ?@3BA i7 3$Result = ' t;en 0;ile<8 C= to*e> do begin 0rite<ar=clienteE"cl,8.>; 8:=8B9; end; end; *rocedure +scribirCta<var ar=Cuenta::R+Cuenta;var "Cta:"cuenta; "o*e:integer>; var 8:integer; begin 8:=9; ?@3(A Re0rite<ar=cuenta>; ?@3BA i7 3$Result = ' t;en

0;ile<8 C= to*e> do begin 0rite<ar=cuentaE"cta,8.>; 8:=8B9; end; end;

111111111111111111 +!3S"+NC3 de +ntidad<clienteEetc>

7unction Sucursal+6iste<var ar=sucursal::R+sucursal; sucur:0ord>:boolean; var sucursal:R+sucursal; +6isteSuc:boolean; 7in=ar:boolean; begin +6isteSuc:=7alse; ?@3(A Reset<ar=sucursal>; ?@3BA i7 3$Result = ' t;en begin 0riteln<'Com*robando Sucursal...'>; lecturasc<ar=sucursalEsucursalE7in=ar>; 0;ile <<not 7in=ar> and <not +6istesuc>> do begin i7<<sucursal.Nsucursal = sucur>and <sucursal.NombreCDNombreNulo>> t;en e6isteSuc:=true; lecturasc<ar=sucursalEsucursalE7in=ar>; end; end else 0rite<'+rror :alta rc;ivo sucursalesL'>; sucursal+6iste:=e6isteSuc; end; 7unction cliente+6iste<var ar=cliente::R+cliente; Ncl:longint>:boolean; var cliente:R+cliente; +6istecl:boolean; 7in=ar:boolean; begin +6istecl:=7alse;

?@3(A Reset<ar=cliente>; ?@3BA i7 3$Result = ' t;en begin 0riteln<'Com*robando Cliente...'>; lecturacl<ar=clienteEclienteE7in=ar>; 0;ile <<not 7in=ar> and <not +6istecl>> do begin i7<<cliente.Ncliente = Ncl> and <cliente.NombreCDnombreNulo>> t;en e6istecl:=true; lecturacl<ar=clienteEclienteE7in=ar>; end; end else 0riteln<'+RR$R :alta arc;ivo clientesL'>; cliente+6iste:=e6istecl; end; 7unction Cuenta+6iste<var ar=cta::R+cuenta; Ncuenta:0ord>:boolean; var cuenta:R+cuenta; +6istecta:boolean; 7in=ar:boolean; begin +6istecta:=7alse; ?@3(A Reset<ar=cta>; ?@3BA i7 3$Result = ' t;en begin 0riteln<'Com*robando Cuenta...'>; lecturacta<ar=ctaEcuentaE7in=ar>; 0;ile <<not 7in=ar> and <not +6istecta>> do begin i7<<cuenta.Ncuenta = Ncuenta> and <cuenta.NcuentaCDNumeroNulo>> t;en e6isteCta:=true; lecturaCta<ar=CtaEcuentaE7in=ar>; end; end else 0riteln<'+RR$R :alta arc;ivo CuentasL'>; cuenta+6iste:=e6istecta; end;

1111111111111111111111111111"o*e

7unction "o*eCuentas <var "cta:"cuenta; to*e:integer>:boolean; var contadorCuentas:b)te; Ma6imoDeCuentas:boolean; 8:integer; begin contadorcuentas:='; Ma6imoDeCuentas:=7alse; 8:='; 0;ile<<8 C to*e> and <not ma6imoDeCuentas>> do begin 8:=8B9; i7 <"Cta,8..Ncliente = "Cta,to*e..Ncliente> t;en contadorCuentas:= contadorCuentasB9; i7 <ContadorCuentas D M !C" > t;en Ma6imoDeCuentas:=true; end; "o*eCuentas:=Ma6imoDeCuentas; end; 111111111111111 S34N C3$N D+ Pociciones

*rocedure signarPosCliente<var "cl:"cliente;var 8:integer; var "o*e:integer>; var signado:boolean; Ncliente:integer; begin asignado:=7alse; 8:='; 0;ile<<not asignado> and <8 C to*e>> do begin 8:=8B9; i7<"cl,8..Nombre = NombreNulo> t;en begin asignado:=true; "cl,8.:="cl,to*e.;11asigno el cliente nuevo en el cliente eliminado anteriormente "cl,8..Ncliente:=8; to*e:=to*e(9; end; end; i7<not asignado> t;en

begin i7<to*e D 9> t;en begin "cl,to*e..Ncliente:="cl,to*e(9..NclienteB9; end else begin "cl,to*e..Ncliente:=9; end; end; end;

*rocedure signarPosSucursal<var "Suc:"Sucursal;var 8:integer; var "o*e:integer>; var signado:boolean; Nsucursal:integer; begin asignado:=7alse; 8:='; 0;ile<<not asignado> and <8 C to*e>> do begin 8:=8B9; i7<"Suc,8..Nombre = NombreNulo> t;en11Nombre nulo es una constante igual a un vacio de7inido begin asignado:=true; "suc,8.:="suc,to*e.;11asigno el cliente nuevo en el cliente eliminado "suc,8..Nsucursal:=8; to*e:=to*e(9; end; end; i7<not asignado> t;en begin i7<to*e D 9> t;en begin "Suc,to*e..Nsucursal:="suc,to*e(9..NsucursalB9; end else begin "suc,to*e..NSucursal:=9; end; end; end;

9'

*rocedure signarPosCuenta<var "Cta:"Cuenta;var 8:integer; var "o*e:integer>; var signado:boolean; Ncuenta:integer; begin asignado:=7alse; 8:='; 0;ile<<not asignado> and <8 C to*e>> do begin 8:=8B9; i7<"cta,8..Ncuenta = NumeroNulo> t;en11Nombre nulo es una constante igual a un vacio de7inido begin asignado:=true; "cta,8.:="cta,to*e.; "cta,8..Ncuenta:=8; to*e:=to*e(9; end; end; i7<not asignado> t;en begin i7<to*e D 9> t;en begin "cta,to*e..Ncuenta:="cta,to*e(9..NcuentaB9; end else begin "cta,to*e..Ncuenta:=9; end; end; end; 1111111111111111111111111111 BHSPH+D S :unction BuscarCuenta<var Cuentas:"cuenta; Ncuenta:integer; to*e:integer>:integer; var Cuenta+ncontrada:boolean; *os:integer; begin Pos:='; Cuenta+ncontrada:=7alse;

99

0;ile<<not Cuenta+ncontrada> and <*osC=to*e>> do begin *os:=*osB9; i7 <cuentas,*os..Ncuenta = Ncuenta> t;en begin cuenta+ncontrada:="rue; 0riteln<'Se +ncontrQ la cuenta'>; end end; BuscarCuenta:=*os; end; 7unction BuscarCliente<var clientes:"cliente; Ncliente:integer; to*e:integer>:integer; var cliente+ncontrado:boolean; *os:integer; begin *os:='; cliente+ncontrado:=7alse; 0;ile<<Not Cliente+ncontrado> and <*osC=to*e>> do begin *os:=*osB9; i7 <clientes,*os..Ncliente = Ncliente> t;en begin cliente+ncontrado:="rue; 0rite<'Se +ncontrQ la cuenta'>; end end; BuscarCliente:=*os; end; 7unction buscarSucursal<"suc:"sucursal; Nsucursal:integer; to*e:integer>:integer; var Sucursal+ncontrada:boolean; *os:integer; begin *os:='; sucursal+ncontrada:=7alse; 0;ile<<Not Sucursal+ncontrada> and <*osC=to*e>> do begin *os:=*osB9; i7 <"suc,*os..NSucursal = NSucursal> t;en begin sucursal+ncontrada:="rue; 0rite<'Se +ncontrQ la cuenta.'>; end end;

9-

BuscarSucursal:=*os; end; 111111111111111111111Crear +ntidad *rocedure CrearSucursal<var ar=sucursal:7resucursal>; var "suc:"sucursal; ContadorSuc:integer; *osision:integer; begin CargarSucursales<ar=sucursalE"sucEcontadorSuc>; contadorSuc:=contadorSucB9; 0rite<'Nombre de la sucursal: '>; readln<"suc,contadorSuc..nombre>; 0rite<'Direccion de la sucursal: '>; readln<"suc,contadorSuc..direccion>; signarPosSucursal<"sucE*osisionEcontadorSuc>; +scribirSC<ar=sucursalE"sucEcontadorSuc>; 0riteln<'Sucursal agregadaL'>; 0riteln<'Sucursal NR: 'E "suc,Posision..Nsucursal>; readFe); end;

*rocedure CrearCliente<var r=cliente::R+cliente;var r=sucursal::R+sucursal>; var "o*eCl:integer; "Cl:"cliente; Ncliente:integer; Posicion:integer; begin CargarClientes< r=clienteE"clE"o*eCl>; "o*eCl:="o*eClB9; 0rite<'Nombre: '>; readln<"cl,"o*eCl..Nombre>; 0rite<' *ellido: '>; readln<"Cl,"o*eCl.. *ellido>; 0rite<'Direccion: '>; readln<tCl,"o*eCl..Direccion>; 0rite<'NR documento: '>; read<"Cl,"o*eCl..Ndocumento>; 0rite<'NR sucursal: '>; readln<"cl,"o*eCl..Nsucursal>; 0;ile<not Sucursal+6iste<ar=sucursalE "cl,"o*eCl..Nsucursal>> do begin

9#

0riteln<'+rror sucursal invalida'>; 0rite<'Sucursal: '>; readln<tcl,"o*eCl..Nsucursal>; end; signarPosCliente<"clE*osicionEto*eCl>; +scribirCl<ar=clienteE "clE to*eCl>; 0riteln<'Cliente agregadoL'>; 0riteln<'NR Cliente: 'E"cl,Posicion..Ncliente>; readFe); end; *rocedure CrearCuenta<var ar=cuenta::R+cuenta;var ar=cliente::R+cliente>; var to*eCta:integer; "cta:"cuenta; Posision:integer; begin cargarCuentas<ar=cuentaE"ctaEto*eCta>; to*eCta:=to*eCtaB9; Irite<'NR Cliente: '>; readln<"Cta,to*eCta..Ncliente>; 0;ile<not cliente+6iste<ar=clienteE "Cta,to*eCta..Ncliente>> do begin 0riteln<'+rror Cliente invalido'>; 0rite<'NR cliente: '>; readln<"Cta,to*eCta..Ncliente>; end; i7 <not "o*eCuentas<"CtaEto*eCta>> t;en begin 0rite<'"i*o de Cuenta<Cuenta corrienteEPlaSo 7i8oE etc>:'>; readln<"Cta,to*eCta.."cuenta>; signarPosCuenta<"CtaE*osisionEto*eCta>; 0riteln<'Creando Cuenta...'>; +scribirCta<ar=cuentaE"CtaEto*eCta>; 0riteln<'+6ito al Crear CuentaL'>; 0riteln<''>; 0riteln<'Ga Cuenta signada es: 'E "Cta,*osision..Ncuenta>; readFe); end else begin Irite<'Numero de Cuentas e6edidoE no se ;a *odido crear'>; readFe); end; end;

9/

11111111111111111111111111111111111Modi7icar +ntidad *rocedure Modi7icarCuenta<var ar=cuenta::R+cuenta>; var *os:integer; modi7ica:String,9.; "cta:"cuenta; to*e:integer; Ncuenta:integer; begin 0rite<'3ngrese +l Numero de Cuenta a Modi7icar: '>; readln<Ncuenta>; i7<cuenta+6iste<ar=cuentaENcuenta>> t;en begin cargarCuentas<ar=cuentaE"ctaEto*e>; *os:=buscarCuenta<"ctaENcuentaEto*e>; re*eat clrscr; 0riteln<'TTTTModi7icacionesTTTT'>; 0riteln<'9>"i*o de Cuenta'>; 0riteln<'->Salir'>; readln<Modi7ica>; until<<modi7ica = '9'> or <modi7ica='-'>>; i7 <modi7ica = '9'> t;en begin 0rite<'"i*o de Cuenta: '>; readln<"cta,*os.."cuenta>;11Mientras 2ue todo lo demas *ermanece igual este dato se modi7ica +scribirCta<ar=cuentaE"ctaEto*e>; 0riteln<'Modi7icacion +6itosa'>; readFe); end; end else begin 0rite<'+rrorE No se encuentra la cuenta'>; readFe); end; end; *rocedure Modi7icarCliente<var ar=cliente::R+cliente;var ar=sucursal::R+sucursal>; var "cte:"cliente; Ncliente:integer; *os:integer; modi7ica:String,9.; to*e:integer;

9&

begin 0rite<'3ngrese +l Numero de Cliente a Modi7icar: '>; readln<NCliente>; i7<cliente+6iste<ar=clienteENcliente>> t;en begin cargarClientes<ar=clienteE"cteEto*e>; Pos:=buscarCliente<"cteENclienteEto*e>; re*eat clrscr; 0riteln<'TTTTModi7icacionesTTTT'>; 0riteln<'9>Nombre'>; 0riteln<'-> *ellido'>; 0riteln<'#>direccion'>; 0riteln<'/>NR Sucursal'>; 0riteln<'&>NR documento'>; 0riteln<'K>Salir'>; readln<Modi7ica>; i7 <modi7ica = '9'> t;en begin 0rite<'Nombre: '>; readln<"Cte,*os..nombre>; end; i7 <modi7ica = '-'> t;en begin 0rite<' *ellido: '>; readln<"cte,*os..a*ellido>; end; i7 <modi7ica = '#'> t;en begin 0rite<'Direccion: '>; readln<"cte,*os..direccion>; end; i7 <modi7ica = '/'> t;en begin 0rite<'NR sucursal: '>; readln<"Cte,*os..Nsucursal>; 0;ile<not sucursal+6iste<ar=sucursalE "cte,*os..Nsucursal>> do begin 0rite<'+rrorE sucursal no e6iste'>; 0rite<'NR sucursal: '>; readln<"cte,*os..Nsucursal>; end; end; i7 <modi7ica = '&'> t;en begin 0rite<'NR Documento: '>; readln<"cte,*os..Ndocumento>;

9K

end; i7<<modi7ica = '9'> or <modi7ica='-'>or <modi7ica='#'>or <modi7ica='/'>or <modi7ica='&'>> t;en begin +scribirCG<ar=clienteE"cteEto*e>; 0riteln<'Modi7icacion e6itosaL'>; readFe); end; until<modi7ica='K'>; end else begin 0rite<'+rrorE No se encuentra el cliente'>; readFe); end; end; *rocedure Modi7icarSucursal<var ar=sucursal::R+sucursal>; var "suc:"sucursal; Nsucursal:integer; *os:integer; modi7ica:String,9.; to*e:integer; begin 0rite<'3ngrese +l Numero de Sucursal a Modi7icar: '>; readln<Nsucursal>; i7<Sucursal+6iste<ar=SucursalENsucursal>> t;en begin cargarSucursales<ar=sucursalE"sucEto*e>; Pos:=buscarSucursal<"sucENsucursalEto*e>; re*eat clrscr; 0riteln<'TTTTModi7icacionesTTTT'>; 0riteln<'9>Nombre'>; 0riteln<'->Direccion'>; 0riteln<'#>Salir'>; readln<Modi7ica>; i7 <modi7ica = '9'> t;en begin 0rite<'Nombre: '>; readln<"suc,*os..nombre>; end; i7 <modi7ica = '-'> t;en begin 0rite<'Direccion: '>; readln<"suc,*os..Direccion>;

9M

end; i7<<modi7ica = '9'> or <modi7ica='-'>> t;en begin +scribirSC<ar=SucursalE"sucEto*e>; 0riteln<'Modi7icacion e6itosaL'>; readFe); end; until<modi7ica='#'>; end else begin 0riteln<'Ga sucursal no +6iste'>; readFe); end; end;

111111111111111111111111+G3M3N R +ntidad 11Nota sobre metodo de eliminacion: 11Ga eliminacion eliminacion sobreescribe el cliente *ara 2ue a*raresca vacia 11Guego cuando un cliente nuevo es agregado la *ocicion es llenada con los nuevos datos *rocedure +liminarCuenta<var ar=cuenta::R+cuenta>; var *os:integer; "cta:"cuenta; to*e:integer; Ncuenta:integer; begin 0rite<'3ngrese +l Numero de Cuenta a +liminar: '>; readln<Ncuenta>; i7<cuenta+6iste<ar=cuentaENcuenta>> t;en begin cargarCuentas<ar=cuentaE"ctaEto*e>; *os:=buscarCuenta<"ctaENcuentaEto*e>; "cta,*os..Ncliente:=NumeroNulo; "cta,*os.."cuenta:=NombreNulo; "cta,*os..Ncuenta:=NumeroNulo; 11 Movimiento,. debe eliminar los movimientos antiguos +scribirCta<ar=cuentaE"ctaEto*e>; 0riteln<'Se +limino con e6ito'>; readFe); end else begin

9N

0rite<'+rrorE No se encuentra la cuenta'>; readFe); end; end; *rocedure +liminarCliente<var ar=cliente::R+cliente>; var "cte:"cliente; Ncliente:integer; *os:integer; to*e:integer; begin 0rite<'+l Numero de Cliente a +liminar: '>; readln<NCliente>; i7<cliente+6iste<ar=clienteENcliente>> t;en begin cargarClientes<ar=clienteE"cteEto*e>; Pos:=buscarCliente<"cteENclienteEto*e>; "Cte,*os..Ncliente:=NumeroNulo; "Cte,*os..nombre:=NombreNulo; "cte,*os..a*ellido:=NombreNulo; "cte,*os..direccion:=NombreNulo; "cte,*os..Nsucursal:=NumeroNulo; "cte,*os..Ndocumento:=NumeroNulo; +scribirCG<ar=clienteE"cteEto*e>; 0riteln<'+liminado con e6itoL'>; readFe); end else begin 0rite<'+rrorE No se encuentra el cliente'>; readFe); end; end; *rocedure +liminarSucursal<var ar=sucursal::R+sucursal>; var "suc:"sucursal; Nsucursal:integer; *os:integer; modi7ica:String,9.; to*e:integer; begin 0rite<'3ngrese +l Numero de Sucursal a +liminar: '>; readln<Nsucursal>;

9O

i7<Sucursal+6iste<ar=SucursalENsucursal>> t;en begin cargarSucursales<ar=sucursalE"sucEto*e>; Pos:=buscarSucursal<"sucENsucursalEto*e>; "suc,*os..nombre:=NombreNulo; "suc,*os..Direccion:=NombreNulo; "suc,*os..Nsucursal:=NumeroNulo; +scribirSC<ar=SucursalE"sucEto*e>; 0riteln<'+liminado Con e6ito'>; readFe); end; end;

111111111111111111111111111G3S" S

*rocedure Gistado <var r=cliente::R+cliente;var ar=cuenta::R+cuenta;var ar=sucursal::R+sucursal>; var r=Movimiento::R+movimiento; cliente:"cliente; sucursal:"sucursal; Movimiento:R+movimiento; o*cion:string; ):b)te; 7in:boolean; 8:integer; to*e:integer; cuenta:"cuenta; begin re*eat ):=M; clrscr<>; 0riteln<'TTTTTTTTTTTTTTGistadosTTTTTTTTTTTTTTTTT'>; 0riteln<'9>Gistado De Clientes'>; 0riteln<'->Gistado De Sucursales'>; 0riteln<'#>Gistado De Cuentas'>; Iriteln<'/>Salir'>; Readln<o*cion>; i7 <o*cion = '9'> t;en begin 8:=9; cargarClientes<ar=clienteEclienteEto*e>; goto6)<9E)>;

-'

0riteln<'Nombre'>; goto6)<9'E)>; 0rite<' *ellido'>; goto6)<-'E)>; 0rite<'Direccion'>; goto6)<#OE)>; 0rite<'NR Cliente'>; goto6)<&9E)>; 0rite<'NR Documento'>; goto6)<K&E)>; 0rite<'NR Sucursal'>; ):=)B9; 0;ile<Cliente,8..nombre=nombreNulo> do 8:=8B9; 0;ile<8C=to*e> do begin goto6)<9E)>; 0rite<Cliente,8..Nombre>; goto6)<9'E)>; 0rite<Cliente,8.. *ellido>; goto6)<-'E)>; 0rite<Cliente,8..Direccion>; goto6)<#OE)>; 0rite<Cliente,8..Ncliente>; goto6)<&9E)>; 0riteln<Cliente,8..Ndocumento>; goto6)<K&E)>; 0rite<cliente,8..Nsucursal>; ):=)B9; 8:=8B9; 0;ile<Cliente,8..nombre=nombreNulo> do 8:=8B9; i7 <) = -&> t;en begin readFe); clrscr; 0riteln<'TTTTTTTTTTTTTTGistadosTTTTTTTTTTTTTTTTT'>; ):=-; goto6)<9E)>; 0riteln<'N$MBR+'>; goto6)<9&E)>; 0rite<' P+GG3D$'>; goto6)<#'E)>; 0rite<'D3R+CC3$N'>; goto6)<&'E)>; 0rite<'NCG3+N"+'>; goto6)<K&E)>; 0rite<'ND$CHM+N"$'>; ):=)B9; end;

-9

end; readFe); end; i7 <o*cion = '-'> t;en begin 8:=9; cargarSucursales<ar=SucursalEsucursalEto*e>; goto6)<9E)>; 0riteln<'Nombre'>; goto6)<-'E)>; 0rite<'Direccion'>; goto6)</'E)>; 0rite<'NR Sucursal'>; ):=)B9; 0;ile<sucursal,8..Nombre=nombreNulo> do 8:=8B9; 0;ile<8C=to*e> do begin goto6)<9E)>; 0rite<sucursal,8..Nombre>; goto6)<-'E)>; 0rite<sucursal,8..Direccion>; goto6)</'E)>; 0rite<sucursal,8..Nsucursal>; ):=)B9; 8:=8B9; 0;ile<sucursal,8..Nombre=nombreNulo> do 8:=8B9; i7 <) = -&> t;en begin readFe); clrscr; 0riteln<'TTTTTTTTTTTTTTGistadosTTTTTTTTTTTTTTTTT'>; ):=-; goto6)<9E)>; 0riteln<'Nombre'>; goto6)<-'E)>; 0rite<'Direccion'>; goto6)</'E)>; 0rite<'NR Sucursal'>; ):=)B9; end; end; readFe); end; i7 <o*cion = '#'> t;en begin 8:=9;

--

cargarCuentas<ar=cuentaEcuentaEto*e>; goto6)<9E)>; 0riteln<'NR Cliente'>; goto6)<-'E)>; 0rite<'NR cuenta'>; goto6)</'E)>; 0rite<'"i*o de cuenta'>; ):=)B9; 0;ile<Cuenta,8..Ncliente=numeroNulo> do 8:=8B9; 0;ile<8C=to*e> do begin goto6)<9E)>; 0rite<Cuenta,8..Ncliente>; goto6)<-'E)>; 0rite<cuenta,8..Ncuenta>; goto6)</'E)>; 0rite<cuenta,8.."cuenta>; ):=)B9; 8:=8B9; 0;ile<Cuenta,8..Ncliente=numeroNulo> do 8:=8B9; i7 <) = -&> t;en begin readFe); clrscr; 0riteln<'TTTTTTTTTTTTTTGistadosTTTTTTTTTTTTTTTTT'>; ):=-; goto6)<9E)>; 0riteln<'NR Cliente'>; goto6)<-'E)>; 0rite<'NR cuenta'>; goto6)</'E)>; 0rite<'"i*o de cuenta'>; ):=)B9; end; end; readFe); end; until<o*cion='/'>; end;

-#

111111111111111111111PR$4R M PR3NC3P G var $*cion:string,&.; $*:string,&.; ar=sucursal:7resucursal; ar=cliente::reCliente; ar=cuenta::R+cuenta; begin assign<ar=sucursalEdirsucursales>; assign<ar=clienteEdirClientes>; assign<ar=cuentaEdirCuentas>; c;e2ueo rc;ivos<ar=cuentaEar=clienteEar=sucursal>; re*eat clrscr; 0riteln<'bienvenido a Banco TTTT 2ue accion desea realiSarU'>; 0riteln<'9> dministrar sucursales'>; 0riteln<'-> dministrar Clientes'>; 0riteln<'#> dministracion cuentas'>; 0riteln<'/> dminstrar Movimientos'>; 0riteln<'&>Gistado Clientes1Movimientos'>; 0riteln<'K> ctualiSacion de Movimientos'>; 0riteln<'M>Salir'>; readln<$*cion>; i7 <o*cion = '9'> t;en re*eat clrscr; 0riteln<' dministracion Sucursales'>; 0riteln<'9>Crear sucursal'>; 0riteln<'->modi7icar sucursal'>; 0riteln<'#>eliminar sucursal'>; 0riteln<'/>salir'>; readln<o*>; i7 <o* = '9'> t;en CrearSucursal<ar=sucursal>; i7 <o* = '-'> t;en Modi7icarSucursal<ar=sucursal>; i7 <o* = '#'> t;en +liminarSucursal<ar=sucursal>; until<o* ='/'>; i7 <o*cion = '-'> t;en re*eat clrscr; Iriteln<'TTT dministracion De Datos De ClientesTTT'>; 0riteln<'9>Nuevo cliente'>; 0riteln<'->Modi7icar cliente e6istente'>; 0riteln<'#>+liminar clientes'>; 0riteln<'/>Salir al Menu Princi*al'>; readln<o*>;

-/

i7 <o* = '9'> t;en crearCliente<ar=clienteE r=sucursal>; i7 <o* = '-'> t;en Modi7icarCliente<ar=clienteE r=sucursal>; i7 <o* = '#'> t;en +liminarCliente<ar=cliente>; until <o* ='/'>; i7 <o*cion = '#'> t;en re*eat clrscr; 0riteln<'TTTTTTTTTT dinistraciQn de CuentasTTTTTTTTTTT'>; 0riteln<'9>Crear Cuenta'>; 0riteln<'->Modi7icar Cuenta'>; 0riteln<'#>+liminar Cuenta'>; 0riteln<'/>Salir'>; readln<o*>; i7 <o* = '9'> t;en crearCuenta<ar=cuentaEar=cliente>; i7 <o* = '-'> t;en modi7icarCuenta<ar=cuenta>; i7 <o* = '#'> t;en +liminarCuenta<ar=cuenta>; until <o* = '/'>; 11i7 <o*cion = '/'> t;en 11 dminDatMovimientos<>; i7 <o*cion = '&'> t;en Gistado<ar=clienteEar=cuentaEar=sucursal>; ?i7 <o*cion = 'K'> t;en actMovimientos<>;A until<$*cion = 'M'>; close<ar=cuenta>; close<ar=cliente>; close<ar=sucursal>; end.

-&

También podría gustarte