Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- struct datum{
- int _dan, _mjesec, _godina;
- void unos(int d, int m, int g){
- _dan = d; _mjesec = m; _godina = g;
- }
- void ispis(){
- cout << _dan << "/" << _mjesec << "/" << _godina << endl;
- }
- };
- struct polozenipredmet{
- char *_naziv;
- datum *_datumpolaganja;
- int *_ocjena;
- void unos(char *naziv, datum d, int ocjena){
- _naziv = new char[strlen(naziv) + 1];
- strcpy_s(_naziv, strlen(naziv) + 1, naziv);
- _datumpolaganja = new datum;
- *_datumpolaganja = d;
- *_ocjena = ocjena;
- }
- void ispis(){
- cout << _naziv << endl << _ocjena << endl;
- _datumpolaganja->ispis();
- }
- void dealociraj(){
- delete[]_naziv;
- delete[]_datumpolaganja;
- delete[]_ocjena;
- }
- };
- struct student{
- int _brojindeksa;
- char *_imeprezime;
- datum *_datumRodjenja;
- polozenipredmet *_polozenipredmeti;
- int _trenutnopolozenih;
- void unos(int indeks, char *imePrezime, datum *datumrodjenja){
- _brojindeksa = indeks;
- _imeprezime = imePrezime;
- _datumRodjenja->unos(datumrodjenja->_dan, datumrodjenja->_mjesec, datumrodjenja->_godina);
- _polozenipredmeti = new polozenipredmet;
- _trenutnopolozenih = 0;
- }
- void ispis(){
- cout << _brojindeksa << " " << *_imeprezime << endl;
- _datumRodjenja->ispis();
- for (int i = 0; i < _trenutnopolozenih; i++)
- _polozenipredmeti[i].ispis();
- }
- bool dodajpolozeni(polozenipredmet *novi){
- //na osnovu vrijednosti primljenih parametara funkcija treba dodati informacije
- //o novopolozenom predmetu. onemoguciti dupliranje predmeta u zavisnosti od upjsenosti operacije
- //funckija vraca truie ili alse
- for (int i = 0; i < _trenutnopolozenih; i++)
- {
- if (strcmp(_polozenipredmeti[i]._naziv, novi->_naziv) == 0)
- cout << " vec postoji taj predmet" << endl;
- return false;
- }
- _polozenipredmeti[_trenutnopolozenih].unos(novi->_naziv, *novi->_datumpolaganja, *novi->_ocjena);
- _trenutnopolozenih++;
- return true;
- }
- int uklonipolozeni(char *naziv){
- int broj = 0;
- bool z = false;
- for (int i = 0; i < _trenutnopolozenih; i++)
- {
- if (strcmp(_polozenipredmeti[i]._naziv, naziv) == 0)
- {
- _polozenipredmeti[i].dealociraj();
- for (int j = i; j < _trenutnopolozenih; j++)
- _polozenipredmeti[i] = _polozenipredmeti[i + 1];
- _trenutnopolozenih--;
- broj++;
- z = true;
- }
- }
- if (z == false)
- cout << "niste uspjeli ukloniti predmet" << endl;
- return broj;
- }
- };
- polozenipredmet *getpolozenebyprosjek(){
- float prosjecno = 0;
- for (int i = 0;i<
- }
- void main(){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement