1. Darbo tikslas Išsiaiškinti struktūrų naudojimo programose principus ir sudaryti struktūrų masyvų tvarkymo programą. 2. Darbo užduotis Turistinėje firmoje saugoma informacija: kelionės nr., kelionės klasė, pradinis maršruto taškas ir galinis maršuto taškas, kelionės būdas. Sukurkite meniu, kuri leistų pasirinkti veiksmus: • Duomenų atvaizdavimą kompiuterio ekrane. • Paiešką. • Programos pabaigimą. Spausdinkite pilną sąrašą. Sukurkite dvi paieškos funkcijas pagal kelionės pradinį ir galutinį tašką bei kelionės būdą. Apie surastas keliones spausdinkite pilną informaciją. Rezultatus rodykite kompiuterio ekrane ir įrašykite į tekstinį failą 3. Užduoties analizė Pagal suformuluotą savarankiško darbo užduotį (žr. Reikalavimai savarankiškam darbui Nr.1) pograma turi atitikti šiuos reikalavimus: 1. Programos komandų Meniu 2. Dialogo komponentai OpenDialog1 ir SaveDialog1 3. Pradiniai duomenys saugomi tekstiniame faile arba įvedami klaviatūra. Duomenys nuskaitomi iš naudotojo nurodyto pavadinimo failo ir užpildomas masyvas. Atlikdami užduotyje nurodytus skaičiavimus ir pertvarkymus, pradinių duomenų failo nenaikinkite. 4. Pradinius duomenis rodykite StringGrid-e 5. Rezultatus rodykite ekrane pagal užduotyje nurodytas sąlygas. Rezultatus ekrane laikyti tol, kol naudotojas nuspaus atitinkamą klavišą. 6. Programos darbo rezultatai įrašomi į vartotojo nurodyto pavadinimo failą, jeigu to pageidauja vartotojas. 7. Programoje turi būti tokie metodai: a. Metodas duomenų įvedimui, nuskaitant pradinius duomenis į masyvą. b. Metodas skaičiavimams. c. Metodas rezultatų atvaizdavimui kompiuterio ekrane. d. Metodas rezultatų įrašymui į naudotojo nurodyto pavadinimo duomenų failą. e. Kiti metodai, skirti užduoties sąlygoje nurodytiems veiksmams atlikti. 8. Tik parinkus atitinkamą komandą, programa baigia darbą. Parengtoje programoje duomenys programai saugomi tekstiniuose failuose turinčiuose atitinkamą struktūrą. Duomenys užkraunami naudojantis OpenDialog komponentu, surašomi į sukurtą masyvą ir parodomi vartotojui StringGrid komponente. Paieška atliekama pasirinkus pagrindinio meniu punkta Paieška ir rasti rezultatai parodomi Memo lauke. Jeigu reikia, rezultatus galima išsaugoti nurodytame faile naudojant SaveDialog komponentą. Duomenys StringGrid koreguojami (įterpiama arba išmetama eilutė) paspaudus atitinkamą mygtuką. Naujai sukurtą masyvą galima išsaugoti nurodytama faile. Paieška atliekama nekoreguotose duomenyse. Visi veiksmai atliekami naudojantis pagrindiniu meniu, bei programoje esančiais mygtukais. 4 4. Programos aprašymas 4.1 Panaudos atvejų, klasių ir sekų diagramos Diagramoje vaizduojami dažniausiai pasitaikančius panaudos atvejus, procesus, jų tarpusavio ryšį, bei santykį su vartotoju. Diagramoje matosi, kad vartotojas gali įvesti duomenis, juos koreguoti, išvesti, bei vykdyti paiešką.Įvedus duomenis, juos galima koreguoti, išvesti ir vykdyti paiešką. Koreguotus duomenis galima išvesti, tą patį veiksmą galima atlikus paiešką. 1 pav. Panaudos atvejų diagrama 5 Klasių diagrama vaizduoja ryšį tarp klasių ir objektų. Blokais su trimis eilutės žymimos klasės, blokai su dvejomis eilutėmis – objektais. Tusčiavidurės rodyklės parodo objekto priklausomybę kažkuriai klasei. Puktyrinės rodyklės tai vienintlelis ir negrįžtamas objekto ryšys su kita klase. Vientisos linijos – tai klasių tarpusavio ryšys, t.y. priklausomybė vienai iš pagrindinių klasių. Klasių diagrama vaizduoja ryšį tarp klasių ir objektų. Blokais su trimis eilutės žymimos klasės, blokai su dvejomis eilutėmis – objektais. Tusčiavidurės rodyklės parodo objekto priklausomybę kažkuriai klasei. Puktyrinės rodyklės tai vienintlelis ir negryžtamas objekto ryšys su kita klase. Vientisos linijos – tai klasių tarpusavio ryšys, t.y. prisomybė vienai iš pagrindinių klasių. 2 pav. Klasių diagrama 6 Sekos diagrama vaizduoja komponento MainMenu1 įvykius, bei jų gyvavimą laike (Stačiakampiai su įvykių pavadinimais). Vertikalios juostos – tai laiko juostos. Vientisos rodyklės su metodų pavadinimais parodo kaip kreipiamasi į vieną ar kitą kompotentą. Punktyrinės rodyklės – tai grįžtamasis ryšys. 3 pav. Sekos diagrama MainMenu1 objektui 7 4.2 Programoje naudojami duomenų tipai, metodai ir jų paskirtis Konstantos: const Kiek //konstanta nurodanti maksimalų reikšmių skaičių StrigGrid1 Duomenų tipai ir kintamieji: struct Keliones // stuktūrinis duomenų tipas. Struktūra Keliones int keliones_nr //eilutės tipo kintamasis kelionės numeriui saugoti char keliones_klase //eilutės tipo kintamasis kelionės klasei saugoti char isvyk_miestas //eilutės tipo kintamasis miestui iš kurio išvykstama saugoti char atvyk_miestas //eilutės tipo kintamasis miestui į kurį atvykstama saugoti char keliones_budas //eilutės tipo kintamasis kelionės būdui saugoti int n //sveiko tipo kintamasis masyvo elementų skaičiui žymėti Metodai: void nuskaityti_duom(AnsiString ff) //duomenų nuskaitymas iš failo void rodytiStrGride() //matricos atvaizdavimas StringGride1 void issaugoti_duom(AnsiString ff) //matricos issaugojimas faile void __fastcall TForm1::Atidarytidokumenta1Click (TObject *Sender) //vykdo metodąRodytiStrGride() void __fastcall TForm1::Pieka1Click(TObject *Sender) //rodoma paieskos forma void __fastcall TForm1::Baigtidarba1Click (TObject *Sender) //uzdaroma pagrindine forma void __fastcall TForm1::Issaugotidokumenta1Click (TObject *Sender) //saugo duomenis į failą void __fastcall TForm1::Button1Click(TObject *Sender) //įterpiama nauja eilutė į string gridą void __fastcall TForm1::Button2Click(TObject *Sender) //iš string grido šalinama pažymėta eilutė 4.3. Programos failų sąrašas: vardai, paaiškinimai 1 lentelė Project1.bpr Projekto parametrų failas Project1.cpp Projekto teksto failas Unit1.dfm Form1 langas (grafinis vaizdas) Unit2.dfm Form2 langas (grafinis vaizdas) Unit1.cpp Pogramos Form1 formos teksto failas Unit2.cpp Pogramos Form2 formos teksto failas Unit1.h Form1 klasės aprašo failas Unit2.h Form2 klasės aprašo failas Project1.exe Sukompiliuota programa 8 4.4. Skaičiavimų algoritmų blokinės schemos 9 4.5. Unit1.h, Unit2.h, Unit1.cpp ir Unit2.cpp failų tekstai su komentarais Unit1.h //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include
Šį darbą sudaro 1955 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!