Struktūrinis programavimas
Pamoka 11 / 11 Rodyklės ir dinamika — finalinis projektas ~90 min
1 / 5 📖 Teorija

Užduotis ir vertinimo sąrašas

Užduotis

Sukurk veikiančią komandinės eilutės programą, kuri valdo tavo paties sąrašą — užduočių sekiklį, filmų sąrašą, sporto žurnalą, žaidimų eilę, išlaidų ar knygų sąrašą. Tema — tavo pasirinkimas. Programa turi veikti, išsaugoti duomenis, juos įkelti iš naujo, leisti ieškoti ir parodyti suvestinę.

Kituose žingsniuose — pilnas pavyzdys („užduočių sekiklis"), kurį susikursi failas po failo. Tavo projektas turi kitą temą, bet tą patį karkasą.

Vertinimo sąrašas (privalomos savybės)

  • Įrašo tipasstruct su bent 3 laukais (pvz., Title string, Priority int, Done bool).
  • Meniu ciklasfor + switch, kartojasi iki „quit". Bloga įvestis programos nenulaužia.
  • Pridėjimas — naujas įrašas iš vartotojo įvesties, append į []Item.
  • Sąrašas — atspausdina visus įrašus su numeriais.
  • Pažymėti / redaguoti — pakeičia įrašą vietoje per rodyklę (*Item).
  • Paieška / filtras — randa įrašus pagal raktažodį pavadinime arba filtruoja pagal atlikta/neatlikta. Spausdina tik atitikmenis.
  • Map paieška — sukuria map[string]Item (ar map[string]int indeksą) ir randa įrašą pagal pavadinimą.
  • Suvestinė — atspausdina statistiką, pvz., „3 iš 7 atlikta", „2 aukšto prioriteto".
  • Išsaugoti ir įkelti — įrašo įrašus į failą ir perskaito paleidus iš naujo: duomenys išgyvena restartą.
  • Bent 4 funkcijos su aiškiomis atsakomybėmis — main daugiausia kviečia funkcijas, o ne laiko visą logiką.
  • Švarus kodas — praeina gofmt ir go vet be įspėjimų.