Базе података 1/Лаб 1 семестрални 2022
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Прва лабораторијска вежба 2022. године одржала се 23. децембра. Задатак испод се појавио у првом термину, када су радили студенти смера РТИ, са различитим захтевима на парним и непарним рачунарима (групе Б и А). Био је доступан код са првих сат и по показног дела, као и документација за SQLite и улазни ток у Јави.
Поставка
Банка путем својих филијала (прати се назив и адреса) у разним местима (прате се поштански број и назив) опслужује своје комитенте (прати се назив и адреса) који могу бити без места, а у тренутку првог појављивања у банци пријављују седиште у одређеном месту.
Сваки комитент може да има више рачуна у свакој од филијала (прате се статус, број ставки, дозвољени минус, и стање), а мора имати бар један рачун. Статус рачуна може бити активан, блокиран или угашен. Рачун постаје блокиран када пређе у недозвољени минус, а активира се када стање пређе у дозвољени минус.
Комитенти са својих рачуна врше трансакције путем ставки промета (прате се редни број, датум и време) које могу бити уплате (прати се основ и износ) или исплате (прате се износ и провизија), при чему је то могуће у било којој филијали.
Задатак - Група А
- Написати функцију
printRacuneSaDozvMinusom()
која на конзолу исписује све рачуне који имају дефинисан дозвољени минус. Исправити главни програм тако да се ова функција прва позива. - Комитент је решио да отвори рачун и извшри уплату на њега. Написати функцију
bool zadatak(int idFil, int idKom, float dozvMinus, float sum)
којом се врши стварање рачуна и уплата. Претпоставити даidFil
иidKom
постоје у бази као исправне вредности. Функција је потребно да буде отпорна на грешке. У случају неуспеха, исписати поруку у конзоли "Došlo je do greške", вратити базу у конзистенто стање а функција треба да вратиfalse
. У случају успеха исписати поруку у конзоли "Uspešno izvršeno" а функција треба да вратиtrue
.
Обезбедити да се у главном програму ова функција позове са параметрима унетим преко конзоле.
Задатак - Група Б
- Написати функцију
printRacuniSaStavkama()
која на конзолу исписује све рачуне који имају бар једну ставку. Исправити главни програм тако да се ова функција прва позива. - Други задатак био је исти као на првој лабораторијској вежби из јануара 2021. године.