Guest User

Untitled

a guest
Apr 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.39 KB | None | 0 0
  1. 1 Procedurálne programovanie, 2011
  2. Projekt č. 2 – Spájaný zoznam štruktúr
  3. Napíšte program, ktorý bude pracovať so záznamami v dynamickom spájanom zozname.
  4. Záznamy uložené v súbore zamestnanci.txt budú predstavovať záznamy
  5. o zamestnancoch. Jednotlivé položky záznamu budú v súbore umiestnené vždy v
  6. samostatnom riadku. Význam položiek záznamu bude nasledujúci:
  7. - Meno: maximálne 30 znakový reťazec
  8. - Priezvisko: maximálne 30 znakový reťazec
  9. - Riadiaci pracovník/Bežný zamestnanec: 1/0 (1 pre riadiaceho pracovníka, 0
  10. pre bežného zamestnanca)
  11. - Hrubá mzda: reálne číslo z intervalu <300.00, 10 000.00>, vždy s dvoma
  12. desatinnými miestami
  13. - Dátum nástupu: osemmiestne celé číslo v tvare rrrrmmdd (rok, mesiac a deň
  14. bez bodiek a medzier), napr. 20110126 pre dátum 26.1.2011
  15. Každý, aj posledný záznam, bude ukončený znakom # v novom riadku a znakom konca
  16. riadku. Súbor bude obsahovať iba hodnoty, nie názvy položiek.
  17. Ukážka obsahu súboru zamestnanci.txt:
  18. Jozef¿
  19. Maly¿
  20. 0¿
  21. 1078.88¿
  22. 20111111¿
  23. #¿
  24. Maria¿
  25. Krasna¿
  26. 1¿
  27. 636.90¿
  28. 19990109¿
  29. #¿
  30. Program bude vykonávať príkazy načítané zo štandardného vstupu. Každý príkaz bude
  31. predstavovať veľké písmeno nasledované znakom konca riadku.
  32. • N – je príkaz na načítanie záznamov o zamestnancoch zo súboru
  33. zamestnanci.txt do spájaného zoznamu štruktúr.
  34. Ak zoznam predtým existoval, je potrebné uvoľniť pamäť. Ak nie je možné súbor
  35. otvoriť, program vypíše správu Zaznamy neboli nacitane ukončenú znakom
  36. konca riadku. Ak sa podarilo záznamy načítať, vypíše správu Nacitalo sa n
  37. zaznamov ukončenú znakom konca riadku, pričom n znamená počet načítaných
  38. záznamov.
  39. 2 Procedurálne programovanie, 2011
  40. • V – je príkaz na výpis celého spájaného zoznamu záznamov.
  41. Formát výpisu je nasledujúci. Pred každým záznamom je uvedené číslo záznamu
  42. (poradie od začiatku zoznamu, začínajúce číslom 1) nasledované bodkou a znakom
  43. konca riadku. Potom nasleduje výpis záznamu, pričom názov položky (bez diakritiky)
  44. je nasledovaný dvojbodkou, medzerou, hodnotou položky a znakom konca riadku. Ak
  45. zoznam neobsahuje záznamy, pri tejto voľbe program negeneruje žiaden výstup.
  46. Ukážka výstupu pre dva vyššie uvedené záznamy:
  47. 1.¿
  48. Meno: Jozef¿
  49. Priezvisko: Maly¿
  50. Bezny zamestnanec¿
  51. Hruba mzda: 1078.88¿
  52. Datum nastupu: 20111111¿
  53. 2.¿
  54. Meno: Maria¿
  55. Priezvisko: Krasna¿
  56. Riadiaci pracovnik¿
  57. Hruba mzda: 636.90¿
  58. Datum nastupu: 19990109¿
  59. • P – je príkaz na pridanie záznamu do dynamického zoznamu.
  60. Príkaz je v ďalšom riadku nasledovaný celým číslom p > 0 vyjadrujúcim pozíciu
  61. (počítanú od 1), na ktorú sa má záznam pridať (záznam z pozície p sa posunie na
  62. pozíciu p+1). Potom nasleduje ďalších 5 riadkov, každý ukončený znakom konca
  63. riadku a obsahujúcim položky záznamu v poradí v akom sú aj v súbore
  64. zamestnanci.txt. Ak pozícia p v zozname neexistuje, záznam sa pridá na koniec
  65. zoznamu. Pri tejto voľbe program negeneruje žiaden výstup.
  66. • Z – je príkaz na zmazanie duplicitných záznamov.
  67. Ak dynamický zoznam obsahuje viac záznamov pre jedného zamestnanca (t.j. majú
  68. rovnaké meno a priezvisko, pri porovnávaní ignorujte rozdiely vo veľkosti písmen),
  69. prvý takýto záznam program v zozname ponechá a vymaže všetky ostatné záznamy
  70. pre tohto zamestnanca. Pri tomto príkaze program vypíše správu Vymazalo sa n
  71. zaznamov, kde n je počet vymazaných záznamov. Správa je ukončená znakom
  72. konca riadku.
  73. • A – je príkaz na aktualizáciu (zmenu) záznamov podľa hrubej mzdy.
  74. Riadok s príkazom A je v ďalšom riadku nasledovaný reálnym číslom m s maximálne
  75. dvoma desatinnými miestami vyjadrujúcim minimálnu mzdu. Program aktualizuje
  76. všetky hrubé mzdy, ktorých hodnota je nižšia ako načítaná minimálna mzda, na
  77. 3 Procedurálne programovanie, 2011
  78. hodnotu minimálnej mzdy m. Pri tomto príkaze program vypíše správu
  79. Aktualizovalo sa n zaznamov, kde n je počet zmenených záznamov. Správa je
  80. ukončená znakom konca riadku.
  81. • K – je príkaz na ukončenie programu.
  82. Ak spájaný zoznam existoval, treba uvoľniť pamäť. Pri tejto voľbe program
  83. negeneruje žiaden výstup.
  84. Používajte funkcie, t.j. každý príkaz (prípadne okrem K) sa vykoná vo svojej funkcii,
  85. pričom použite prenos argumentov, nie globálne premenné.
Add Comment
Please, Sign In to add comment