Advertisement
Guest User

Ejercicio 2. Práctica 11

a guest
Nov 26th, 2014
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. program EJ2P11;
  2.  
  3. uses crt;
  4.  
  5. type
  6. Reg_Cliente=record
  7. NumCliente:word;
  8. nombre:string[30];
  9. categoria:char;
  10. direccion:string[40];
  11. fechaDeAlta:string[8];
  12. end;
  13.  
  14. T_Arch=file of Reg_Cliente;
  15.  
  16. var
  17. arch:T_Arch;
  18. num:word;
  19. dir:string[40];
  20.  
  21. function Categoria(var arch:T_Arch;num:word):char;
  22.  
  23. var
  24. registro:Reg_Cliente;
  25. cat:char;
  26.  
  27. begin
  28. seek(arch,num-1);
  29. read(arch,registro);
  30. cat:=registro.categoria;
  31. categoria:=cat;
  32. end;
  33.  
  34. Procedure Leer(var arch:T_Arch; var R:Reg_Cliente; var fin:boolean);
  35.  
  36. begin
  37. if (not eof(arch)) Then
  38. begin
  39. read(arch,R);
  40. fin:=false;
  41. end
  42. else
  43. fin:=true;
  44. end;
  45.  
  46. procedure ModificarDireccion(var arch_T_Arch;num:word;dir:string[40]); {supongo el archivo abierto para escritura}
  47.  
  48. var
  49. registro:Reg_Cliente;
  50. begin
  51. seek(arch,num-1);
  52. read(arch,registro);
  53. registro.direccion:=dir;
  54. end;
  55.  
  56. procedure CargarArchivo(var arch:T_Arch);
  57.  
  58. var
  59. registro:Reg_Cliente;
  60. finArchivo:boolean;
  61. RTA:char;
  62. begin
  63. rewrite(arch);
  64. Leer(arch,registro,finArchivo);
  65. repeat
  66. writeln('Ingrese número de cliente');
  67. readln(registro.numCliente);
  68. writeln('ingrese nombre');
  69. readln(registro.nombre);
  70. writeln('ngrese categoria ');
  71. readln(registro.categoria);
  72. writeln('Ingrese dirección');
  73. readln(registro.direccion);
  74. writeln('Ingrese fecha ');
  75. readln(registro.fechaDeAlta);
  76. writeln('¿Ingresar mas información? S/N ');
  77. readln(RTA);
  78. until (RTA='n');
  79. close(arch);
  80. end;
  81.  
  82. procedure MostrarArchivo(var arch:T_Arch);
  83.  
  84. var
  85. registro:Reg_cliente;
  86. finArchivo:boolean;
  87. begin
  88. reset(arch);
  89. Leer(arch,registro,finArchivo);
  90. while (not finArchivo) do
  91. begin
  92. writeln(registro.numCliente);
  93. writeln(registro.nombre);
  94. writeln(registro.categoria);
  95. writeln(registro.direccion);
  96. writeln(registro.fechaDeAlta);
  97. Leer(arch,registro,finArchivo);
  98. end;
  99. close(arch);
  100. end;
  101.  
  102. begin
  103. clrscr;
  104. assign(arch,'C:/reg.dat');
  105. CargarArchivo(arch);
  106. writeln('Ingrese número de cliente ');
  107. readln(num);
  108. reset(arch);
  109. write('La categoria de este cliente es: ',Categoria(arch,num));
  110. close(arch);
  111. readln;
  112. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement