Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. program Ejercicio1p2;
  2. const
  3. valorAlto=9999;
  4. type
  5. empleados=record
  6. codemp:integer;
  7. nombre:String;
  8. monto:real;
  9. end;
  10.  
  11. nuevo=record
  12. codEmp:integer;
  13. nombre:String;
  14. total:real;
  15. end;
  16.  
  17. archivo=file of empleados;
  18. archivoN=file of nuevo;
  19. procedure leerEmpleados(var e:empleados);
  20. begin
  21. writeln('Inserte un codigo de empleado');
  22. readln(e.codemp);
  23. if(e.codemp<>999)then begin
  24. writeln('Inserte un nombre para el empleado');
  25. readln(e.nombre);
  26. writeln('Inserte un monto para el empleado');
  27. readln(e.monto);
  28. end;
  29. end;
  30.  
  31. procedure generarArchivo(var arch:archivo);
  32. var
  33. e:empleados;
  34. begin
  35. rewrite(arch);
  36. leerEmpleados(e);
  37. while(e.codemp<>999)do begin
  38. write(arch,e);
  39. leerEmpleados(e);
  40. end;
  41. close(arch);
  42. end;
  43.  
  44. procedure leer(var arch:archivo;var dato:empleados );
  45. var
  46. e:empleados;
  47. begin
  48. if(not eof(arch))then
  49. read(arch,e)
  50. else
  51. dato.codEmp:=valorAlto;
  52.  
  53. end;
  54.  
  55.  
  56. procedure nuevoArchivo(var arch:archivo;var archN:archivoN);
  57. var
  58. e:empleados;
  59. aux:integer;
  60. n:nuevo;
  61. total:real;
  62. nu:nuevo;
  63. dato:empleados;
  64.  
  65. begin
  66. rewrite(archN);
  67. reset (arch);
  68. leer(arch,e);
  69. while(e.codEmp<>valorAlto)do begin
  70. total:=0;
  71. aux:=e.codEmp;
  72. while(aux=e.codEmp)do begin
  73. total:=total+e.codEmp;
  74. leer(arch,e);
  75. end;
  76. nu.codEmp:=e.codEmp;
  77. nu.nombre:=e.nombre;
  78. nu.total:=total;
  79.  
  80. write(archN,nu);
  81. end;
  82.  
  83. close(archN);
  84. close(arch);
  85. end;
  86.  
  87. procedure imprimir(var archN:archivoN);
  88. var
  89. n:nuevo;
  90. begin
  91. reset(archN);
  92. while(not eof(archN))do begin
  93. read(archN,n);
  94. writeln('El cod de empleado es:',n.codEmp);
  95. writeln('El nombre del empleado es:',n.nombre);
  96. writeln('El monto total del empleado es:',n.total);
  97. end;
  98. close(archN);
  99. end;
  100.  
  101.  
  102. var
  103. arch:archivo;
  104. nombre,nombre2:String;
  105. archN:archivoN;
  106. begin
  107. writeln('Inserte un nombre para el archivo');
  108. readln(nombre);
  109. assign(arch,nombre);
  110. writeln('Inserte un nombre para el nuevo archivo');
  111. readln(nombre2);
  112. assign(archN,nombre2);
  113. generarArchivo(arch);
  114. nuevoArchivo(arch,archN);
  115. imprimir(archN);
  116. readln;
  117.  
  118. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement