Guest User

Untitled

a guest
Jan 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. Voorbeeldoplossing oefening 2.
  2.  
  3. 000100 IDENTIFICATION DIVISION.
  4. 000200 PROGRAM-ID. oef2-1011.
  5. environment division.
  6. input-output section.
  7. file-control.
  8. * schrijf hier de bestandsdefinities
  9. select invoer assign "oef2_invoer.txt".
  10. select favoriet assign "favoriet.txt".
  11. data division.
  12. file section.
  13. * vul hier de recordbeschrijvingen aan
  14. copy oef2_1011_invoer_copy.
  15. copy oef2_1011_favoriet_copy.
  16. working-storage section.
  17. 01 einde pic x value "0".
  18. 88 einde-bestand value "1".
  19. 01 prijs-ed pic 9(5).99.
  20. * vul hier verder aan met extra velddefinities
  21. 01 isfavoriet pic x value "N".
  22. 02 nieuweprijs pic 9(5)v99.
  23. procedure division.
  24. pgm.
  25. * openen van de bestanden
  26. open input invoer output favoriet
  27. * lezen van het eerste record
  28. read invoer
  29. at end
  30. display "leeg invoerbestand"
  31. move "1" to einde
  32. end-read
  33. perform until einde-bestand
  34. * vul hieronder het veld "boekingsprijs" van het invoerbestand in
  35. move boekingsprijs to prijs-ed
  36. * vul hieronder het velden "zanger/popgroep" van het invoerbestand in
  37. display "voor " naam " is de prijs " prijs-ed
  38. * vul hieronder driemaal het veld "favoriet" van de working-storage in
  39. display "is dit een van je favoriete zangers/groepen?"
  40. accept isfavoriet
  41. if isfavoriet = "J" or isfavoriet = "j"
  42. * breng hieronder de gegevens van het invoerbestand over naar het nieuwe bestand
  43. move inv-rec to fav-rec
  44. * wegschrijven in het nieuwe bestand
  45. write fav-rec
  46. display "het record werd overgenomen"
  47. end-if
  48. * lezen van het volgende record
  49. read invoer
  50. at end
  51. display "einde invoerbestand"
  52. move "1" to einde
  53. end-read
  54. end-perform
  55. * sluiten van de bestanden
  56. close invoer favoriet
  57. move 0 to einde
  58. * openen favorietenbestand om wijzigingen te kunnen aanbrengen
  59. open i-o favoriet
  60. * lezen van het eerste record
  61. read favoriet
  62. at end
  63. display "leeg favorietenbestand"
  64. move "1" to einde
  65. end-read
  66. perform until einde-bestand
  67. display "voor " fav-naam " was de prijs " fav-boekingsprijs
  68. * berekenen prijs met 5% korting
  69. compute nieuweprijs = fav-boekingsprijs * 0.95
  70. move nieuweprijs to fav-boekingsprijs prijs-ed
  71. display "nieuwe prijs is " prijs-ed
  72. * wegschrijven record met nieuwe gegevens
  73. rewrite fav-rec
  74. * lezen van het volgende record
  75. read favoriet
  76. at end
  77. display "einde favorietenbestand"
  78. move "1" to einde
  79. end-read
  80. end-perform
  81. accept einde
  82. stop run.
  83.  
  84. oef2_1011_favoriet_copy.
  85.  
  86.  
  87. fd favoriet.
  88. 01 fav-rec.
  89. 02 fav-boekingscode pic x(10).
  90. 02 fav-naam pic x(20).
  91. 02 fav-boekingsprijs pic 9(5)v99.
  92. 02 fav-genre pic x(10).
  93. 02 fav-land pic x(3).
  94.  
  95.  
  96. oef2_1011_invoer_copy.
  97.  
  98.  
  99. fd invoer.
  100. 01 inv-rec.
  101. 02 boekingscode pic x(10).
  102. 02 naam pic x(20).
  103. 02 boekingsprijs pic 9(5)v99.
  104. 02 genre pic x(10).
  105. 02 land pic x(3).
Add Comment
Please, Sign In to add comment