1 / 13

Struktūros duomenų tipas

Struktūros duomenų tipas. Struktūros aprašymas, kintamieji. Struktūros duomenų tipu (angl. struct ) vadinamas įvairių duomenų elementų rinkinys. Pascal programavimo kalbų šeimoje tai vadinama įrašu (angl. record ).

miette
Download Presentation

Struktūros duomenų tipas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Struktūros duomenų tipas

  2. Struktūros aprašymas, kintamieji • Struktūros duomenų tipu (angl. struct) vadinamas įvairių duomenų elementų rinkinys. • Pascal programavimo kalbų šeimoje tai vadinama įrašu (angl. record). • Struktūros tipo kintamasis laiko atmintyje tarpusavyje logiškai susietus duomenis.

  3. Struktūros tipo aprašo sintaksė • struct vardas { kintamųjų aprašas }; Pvz.: struct pirkinys { stringpav; // pavadinimas double kaina; // kaina int kiekis; // kiekis double suma; // pinigų suma kintamųjų sąrašas tipo pavadinimas Struktūros tipo bazinis žodis

  4. Struktūros tipo aprašo sintaksė • Struktūros tipo kintamieji aprašomi naudojant sukurto tipo vardą, pavyzdžiui, Pirkinys A, B; • Struktūros tipo kintamojo kopiją galima gauti priskyrimo veiksmu: B = A • Tai vienintelis galimas veiksmas atliekamas su struktūros tipo kintamuoju. • Kiti veiksmai galimi tik su konkrečiais duomenimis.

  5. Struktūros tipo aprašo sintaksė • Struktūros tipo kintamojo vardas sudaromas iš struktūros tipo kintamojo vardo ir vidinio kintamojo vardo, tarp kurių rašomas taškas. Pvz.: A.pav= “Agurkas”; A.kaina= 2.56; A.kiekis= 15; A.suma= A.kaina* A.kiekis;

  6. Struktūros tipo aprašo sintaksė • Jeigukintamojo A atskirasreikšmeslaikokitikintamieji, juosgalimapanaudotipriskyrimo veiksmuose. Pvz.: A.pav= vardas;// kopijuojama kintamojo vardas reikšmė (simbolių eilutė) A.kaina= kainaNauja; A.kiekis= kiekisNaujas;

  7. Struktūros kintamojo rašymas • Struktūros kintamojo reikšmės rodomos ekrane arba rašomos į failą taip pat, kaip ir kitų tipų kintamųjų reikšmės. • Tik neužmirškite visur rašyti sudėtinį kintamojo vardą. cout << A.pav <<“ “ <<A.kaina <<“ “ << A.kiekis << “ “ << A.suma

  8. Struktūros kintamojo skaitymas • Kai faile duomenys surašyti eilutėmis arba visos reikšmės yra skaitinės, skaitoma tomis pačiomis priemonėmis, kaip ir kitų tipų kintamuosius. • Kai struktūroje yra eilutės tipo kintamieji ir jų reikšmės surašytos ne atskiromis eilutėmis, o su kitomis reikšmėmis, tuomet skaitymo metu reikia atpažinti, kur baigėsi simbolių eilutė. Pvz.: Agurkas 2.56 5

  9. Struktūros kintamojo skaitymas • Jei pavadinimai yra iš kelių žodžių, tuomet duomenų nuskaitymas gali tapti sudėtingu. Pvz.: Pekino salotos 2.56 5 Raudonieji gūžiniai kopūstai 2.56 5

  10. Struktūros kintamojo skaitymas • Skaitant skaičius, visi tarpai iki skaičiaus praleidžiami. • Jei po skaičiaus rašoma simbolių eilutė, tarpas turi didelę reikšmę, nes reikia žinoti, keli iš jų priklauso simbolių eilutei, o keli – ne. • Tada patogu naudoti pozicinį duomenų surašymą, kai kiekviena duomenų reikšmė pateikiama pradedant sutarta pozicija. Nuo 1 pozicijos Nuo 32 pozicijos Nuo 45 pozicijos Pekino salotos 2.56 5 Raudonieji gūžiniai kopūstai 12.15 5

  11. Struktūros kintamojo skaitymas Nuo 1 pozicijos Nuo 32 pozicijos Nuo 45 pozicijos Pekino salotos 2.56 5 Raudonieji gūžiniai kopūstai 12.15 5 Pvz.: ifstreamfd(“Duom.txt”)’ charsimb[30]; fd.get (simb, sizeofsimb); A.pav= simb; fd >> A.kiekis >> A.kaina; fd.ignore(); fd.get (simb, sizeofsimb); B.pav= simb; fd >> B.kiekis >>B.kaina; fd.ignore(); fd.close(); Prisiminkite fd.ignore(80, ‘\n’); fd.ignore(); Naudojame, kai reikia pašalinti iš įvesties srauto visus simbolius iki eilutės galo (arba 1 simbolį – 2 pvz.) ir pereiti į naują eilutę. Norint visus tarpo simbolius iki eilutės pradžios praleisti naudokite manipuliatorių ws fd >> ws;

  12. Struktūrų masyvas Aprašomas taip pat, kaip ir skaičių masyvas Aprašome: Pirkinys A[50]; Kreipiniai į struktūrų masyvo elementus: A[5], A[i], A[k+2] Kreipiniai į elementų laukus: A[5].pav, A[i].kiekis, A[k+r].pav

  13. Užduotis Tarkime, kad yra toks duomenų failas Duom.txt: Olandiškas sūris 12.5 45 Vilniaus duona 1.5 12 Pienas 2.5 25 Parašykite programą, kuri nuskaitytų duomenis iš failo į struktūrų masyvą, bei skaičiuotų, kiek kainavo mokiniui pirkinys. Rezultatus surašykite į failą. Rezultatų failas Rez.txt: MOKĖJIMAI ------------------------------------------ Olandiškas sūris 562.5 Lt Vilniaus duona 18 Lt Pienas 62.5 Lt ------------------------------------------- Mokinys sumokėjo: 643 Lt

More Related