
Ayuda con ejercicio de examen
Publicado por Matias (4 intervenciones) el 30/08/2016 03:00:54
Hola a todos, me pueden dar una mano? necesito una ayuda en un ejercicio de examen, voy casi terminando el ejercicio pero me queda algo que no puedo solucionar, subo el codigo fuente aca y la consigna
Consigna
El ejercicio consiste en crear una estructura(registro y archivo) capaz de gestionar las cuentas corrientes de los clientes de un banco, sabiendo que como máximo puede haber 1000 clientes y tener cada cliente tres cuentas como máximo. La información que deberá contener será: Código cliente, Titular, Nº de cuenta (8 dígitos) y Saldo.
Generar un programa que cargue el archivo (altas), permita observar los datos (consulta) y además se deberán crear un procedimiento Modificar que dados la estructura anterior, el código, el nº de cuenta y una cantidad, permita actualizar el saldo respecto a la cantidad indicada y a la cuenta de ese cliente.
Tengo casi todo listo, no necesito un nuevo codigo fuente, sino arreglar o corregir una parte de mi algoritmo
necesito que en el procedure "consulta" muestre los numeros de cuenta, compilo ejecuto creo las cuentas ,pero lo que me pasa es que me muestra la ultima cuenta creada y no las cuentas que quiero , si pueden ayudarme les agradeceria desde ya gracias
Consigna
El ejercicio consiste en crear una estructura(registro y archivo) capaz de gestionar las cuentas corrientes de los clientes de un banco, sabiendo que como máximo puede haber 1000 clientes y tener cada cliente tres cuentas como máximo. La información que deberá contener será: Código cliente, Titular, Nº de cuenta (8 dígitos) y Saldo.
Generar un programa que cargue el archivo (altas), permita observar los datos (consulta) y además se deberán crear un procedimiento Modificar que dados la estructura anterior, el código, el nº de cuenta y una cantidad, permita actualizar el saldo respecto a la cantidad indicada y a la cuenta de ese cliente.
Tengo casi todo listo, no necesito un nuevo codigo fuente, sino arreglar o corregir una parte de mi algoritmo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
PRogram examen4;
uses crt;
type
cuentas = record
codcli: integer;
titular: string[20];
nrocuenta: integer;
saldo: real;
end;
var
op,cli:integer;
arch: file of cuentas;
c:cuentas;
Procedure ALTA;
Var
codcli : integer;
ncuentas,i : Integer;
o:string[1];
Begin
clrscr;
writeln('ALTAS DE CLIENTES');
Assign(arch,'C:\Users\martt\Desktop\clientes');
Reset(arch);
If(IoResult<>0) Then
Rewrite(arch);
writeln('"NUEVO CLIENTE"');
writeln('INGRESE NUMERO DE CLIENTE: ');
readln(codcli);
c.codcli:=0;
For i:=FileSize(arch)+1 to codcli Do
Begin
Seek(arch,i);
Write(arch,c);
End;
Seek(arch,codcli);
Read(arch,c);
If(c.codcli=codcli) Then
Begin
writeln('CLIENTE YA EXISTENTE !!!');
writeln('<<< Presione una tecla para continuar >>>');
Close(arch);
Readkey;
Exit;
End;
write('Titular : ');
readln(c.titular);
ncuentas:=0;
repeat
write('Numero de Cuenta : ');
readln(c.nrocuenta);
write('Saldo :');
readln(c.saldo);
ncuentas:=ncuentas+1;
if ncuentas <3 then
begin
writeln('Usted puede crear ',3-ncuentas,' cuentas mas,¿desea crear una nueva cuenta? (S/N):');
readln(o);
end;
until (ncuentas=3)or(o= 'N') or (o= 'n');
Readln;
c.codcli:=codcli;
Seek(arch,c.codcli);
Write(arch,c);
Close(arch);
writeln('Cuenta registrada !!!');
writeln('<<< Presione una tecla para continuar >>>');
readkey;
End;
Procedure CONSULTA;
Var codcli: integer;
Begin
Clrscr;
writeln('CONSULTA DE CUENTAS DE CLIENTES');
Assign(arch,'C:\Users\martt\Desktop\clientes');
Reset(arch);
If(IoResult<>0) Then
Begin
writeln('No existe cliente !!!');
writeln('<<< Presione una tecla para continuar >>>');
Readkey;
Exit;
End;
Repeat
write('Numero de cliente: ');
Read(codcli);
Until codcli<=FileSize(arch);
Seek(arch,codcli);
Read(arch,c);
If(c.codcli=codcli) Then
Begin
writeln('Codigo de Cliente: ',c.codcli:1); writeln('Titular: ',c.titular:3); writeln('Numero/s de Cuenta/s: ',c.nrocuenta:1); writeln('Saldo: ',c.saldo:3:2,'$');
writeln(' ');
writeln('<<< Presione una tecla para continuar >>>');
Close(arch);
Readkey;
Exit;
End
Else
Close(arch);
writeln('<<< Presione una tecla para continuar >>>');
Readkey;
end;
Procedure MODIFICACION;
Var codcli : integer;
Begin
Clrscr;
writeln('MODIFICACION DE CUENTAS DE CLIENTES');
Assign(arch,'C:\Users\martt\Desktop\clientes');
Reset(arch);
If(IoResult<>0) Then
Begin
writeln('No existe el archivo !!!');
writeln('<<< Presione una tecla para continuar >>>');
Readkey;
Exit;
End;
Repeat
write('Numero de cliente: ');
Read(codcli);
Until codcli<=FileSize(arch);
Seek(arch,codcli);
Read(arch,c);
If(c.codcli=codcli) Then
Begin
writeln('Codigo de Cliente: ',c.codcli:1); writeln('Titular: ',c.titular:3); writeln('Numero/s de Cuenta/s: ',c.nrocuenta:1); writeln('Saldo: ',c.saldo:3:2,'$');
writeln(' ');
writeln('Anote el nuevo saldo ...');
write('Saldo: ');
Readln(c.saldo);
Seek(arch,FilePos(arch)-1);
Write(arch,c);
Close(arch);
writeln('Saldo modificado !!!');
writeln('<<< Presione una tecla para continuar >>>');
Readkey;
Exit;
End
Else
writeln('No existe ese cliente !!!');
Close(arch);
writeln('<<< Presione una tecla para continuar >>>');
Readkey;
End;
begin
repeat
writeln('MENU DE OPCIONES:');
writeln('1. ALTA DE UN NUEVO CLIENTE');
writeln('2. MODIFICACION DE SALDO');
writeln('3. CONSULTA INFORMACION DE UN CLIENTE');
writeln('4. SALIR');
writeln(' ');
write('POR FAVOR INGRESE UNA OPCION: ');
read(op);
case op of
1: ALTA;
2: MODIFICACION;
3: CONSULTA;
4: EXIT;
end;
cli:=cli+1;
until (cli=1000) or (op=4);
readln;
end.
necesito que en el procedure "consulta" muestre los numeros de cuenta, compilo ejecuto creo las cuentas ,pero lo que me pasa es que me muestra la ultima cuenta creada y no las cuentas que quiero , si pueden ayudarme les agradeceria desde ya gracias
Valora esta pregunta


0