Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       

Užduotis

Parduotuvė prekiauja muzikos įrašų albumais. Kiekvienas albumas nusakomas pavadinimu (16 simbolių), autoriumi (24 simboliai), kaina (sveikasis skaičius) ir kiekiu (sveikasis skaičius).

Duomenys. Duomenys yra pateikti tekstiniame faile duom.txt. Pirmojoje jo eilutėje yra skirtingų albumų skaičius n (1 ≤ n ≤ 100), o kitose n eilučių išvardinti kiekvieno albumo duomenys.

Kitame tekstiniame faile operacijos.txt surašyta informacija apie albumų pirkimą ir jų tiekimą.

Šio failo pirmojoje eilutėje yra operacijų skaičius k. Kitose k eilučių pateikta informacija apie albumų tiekimą užrašyta tokia pačia tvarka, kaip ir faile duom.txt, tik pradžioje yra pliuso ženklas ir tarpo ženklas. Pliusas reiškia, kad albumai buvo gauti. Jei parduotuvėje tokių albumų būta, tai tik padidinamas tokių albumų skaičius, jai nebuvo – albumas įrašomas į albumų sąrašą pabaigoje.

Pardavimas yra fiksuojamas minuso ženklu, po kurio yra tarpas, o toliau nurodomas albumo pavadinimas ir pirkėjų pageidautas albumų skaičius.

Skaičiavimai. Suprantama, kad pirkėjų norai gali būti didesni už parduotuvės galimybes, todėl parduodama tiek, kiek yra tuo momentu. Jei tokių albumų dar kažkiek lieka, tai atitinkamai mažinamas jų skaičius sąraše. Jei albumų nelieka – toks albumas pašalinamas iš sąrašo.

To paties pavadinimo ir to paties autoriaus albumai gali būti skirtingų kainų. Tuomet jie fiksuojami sąraše atskirose eilutėse. Skirtingų autorių albumų pavadinimai skiriasi.

Pirkėjas suinteresuotas jį dominantį albumą nusipirkti už kuo mažesnę kainą, jei tik yra galimybė. Klientas visada teisus. Pardavėjai maloniai aptarnauja.

Rezultatai. Reikia apskaičiuoti, kokiai sumai parduota albumų ir atspausdinti likusių albumų sąrašą, pateikiant informaciją apie albumus tokiu pačiu pavidalu, kaip duomenų faile duom.txt. Rezultatus rašome į tekstinį failą ataskaita.txt.

Kiekybiniai apribojimai. Albumų skaičius programos vykdymo eigoje neviršija 100.

Kontroliniai duomenys

 Duomenys.txt

3

Pabėgimas         A. Mamontovas   25 4

Tadas Blinda      A. Mamontovas   22 3

Šiam pasauly      G. Paškevičius  18 5

operacijos.txt

10

+ Tranzas               G. Paškevičius  26 5

- Tadas Blinda          1

+ Beribiam danguje      G. Paškevičius  17 5

- Tadas Blinda          3

- Tranzas               4

+ Tadas Blinda          A. Mamontovas   22 2

+ Tadas Blinda          A. Mamontovas   18 2

- Tadas Blinda          1

- Šiam pasauly          2

- Tadas Blinda          10

Rezultatai

 ataskaita.txt

Parduota už 286 Lt

Prekių likučiai:

Pabėgimas        A. Mamontovas             25 4

Šiam pasauly     G. Paškevičius            18 3

Tranzas          G. Paškevičius            26 1

Beribiam danguje G. Paškevičius            17 5

Reikalavimai

  • Naudokite struktūras ir struktūrų masyvus, sveikuosius skaičius.
  • Sudarykite struktūrą, skirtą saugoti albumo informacijai.
  • Sukurkite procedūrą (funkciją void C++) skirtą skaityti duomenis iš failo duom.txt.
  • Sukurkite procedūrą/funkciją (funkciją C++) skirtą apdoroti likusiems duomenims iš failo operacijos.txt;
  • Sukurkite rezultatų rašymo į failą procedūrą (funkciją void C++).
  • Sukurkite funkciją, kuri rastų pigiausią albumą sąraše.
  • Sukurkite funkciją, kuri pašalintų albumą iš sąrašo.

Papildoma informacija

  • Lygis: 3
  • Taškai: 40
Į viršų