CCCPaste

Untitled

#include 
using namespace std;

struct Proizvod {
    char ime[30];
    char tip[10];
    int cena;
    double golemina; // float
    char zemja_na_poteklo[20];
    int mesec, godina;
    
    int voRok(int m, int g) {
        if(godina < g) {
            return true;
        }
        if(godina > g) {
            return false;
        }
        if(godina == g) {
            if(mesec < m) {
                return true;
            }
        }
        return false;
    }
    
    void prodadi() {
        cena = 0;
    }
};

class Shoping {
    char ime_na_centar[30];
    char adresa[15];
    Proizvod proizvodi[100];
    int kolku_proizvodi;
    int novi_ceni[100];
    
public:
    Shoping() {} // default/empty constructor
    
    Shoping(char* _ime_na_centar, char* _adresa, Proizvod* _proizvodi, int _kolku_proizvodi, int* _novi_ceni) { // parametarski konstruktor
        
        strcpy(ime_na_centar, _ime_na_centar);
        strcpy(adresa, _adresa);
        kolku_proizvodi = _kolku_proizvodi;
        
        for(int i = 0; i < kolku_proizvodi; i++) {
            proizvodi[i] = _proizvodi[i];
            novi_ceni[i] = _novi_ceni[i];
        }
    }
    
    Shoping(const Shoping &tmp) {
        strcpy(ime_na_centar, tmp.ime_na_centar);
        strcpy(adresa, tmp.adresa);
        kolku_proizvodi = tmp.kolku_proizvodi;
        
        for(int i = 0; i < kolku_proizvodi; i++) {
            proizvodi[i] = tmp.proizvodi[i];
            novi_ceni[i] = tmp.novi_ceni[i];
        }
    }
    
    void set_ime_na_centar(char *c) {
        strcpy(ime_na_centar, c);
    }

    void set_tip(char *c) {
        strcpy(adresa, c);
    }
    void set_proizvodi(Proizvod *p, int n) {
        kolku_proizvodi = n;
        for(int i = 0; i < kolku_proizvodi; i++) {
            proizvodi[i] = p[i];
        }
    }
    void set_kolku_proizvodi(int n) {
        kolku_proizvodi = n;
    }
    void set_novi_ceni(int *niza, int n) {
        kolku_proizvodi = n;
        for(int i = 0; i < n; i++) {
            novi_ceni[i] = niza[i];
        }
    }
    
    const char* get_ime_na_centar() {
        return ime_na_centar;
    }
    
    const char* get_adresa() {
        return adresa;
    }
    
    const Proizvod* get_proizvodi() {
        return proizvodi;
    }
    int get_kolku_proizvodi() {
        return kolku_proizvodi;
    }
    const int* get_novi_ceni() {
        return novi_ceni;
    }
    
    int proverka(int m, int g) {
        int brojac = 0;
        for(int i = 0; i < kolku_proizvodi; i++) {
            if(proizvodi[i].voRok(m, g)) {
                
            }
            else {
                proizvodi[i].prodadi();
                novi_ceni[i] = 0;
                brojac++;
            }
        }
        return brojac;
    }
    
    double getNeto(char *c) {
        double sum = 0.0;
        if(strcmp(c, "") == 0) {
            for(int i = 0; i  < kolku_proizvodi; i++) {
                sum += proizvodi[i].golemina;
            }
        }
        else {
            for(int i = 0; i < kolku_proizvodi; i++) {
                if(strcmp(c, proizvodi[i].tip) == 0) {
                    sum += proizvodi[i].golemina;
                }
            }
        }
        return sum;
    }
    
    ~Shoping() {} // destruktor
};

int main() {
    int n; // kolku proizvodi ke vneseme
    cin >> n;
    Proizvod proizvodi[n];
    for(int i = 0; i < n; i++) {
        cin >> proizvodi[i].ime >> proizvodi[i].tip >> proizvodi[i].cena >> proizvodi[i].golemina >> proizvodi[i].zemja_na_poteklo >> proizvodi[i].mesec >> proizvodi[i].godina;
    }
    char ime_na_centar[30];
    cin >> ime_na_centar;
    char adresa[15];
    cin >> adresa;
    int novi_ceni[n];
    for(int i = 0; i < n; i++) {
        cin >> novi_ceni[i];
    }
    
    Shoping s(ime_na_centar, adresa, proizvodi, n, novi_ceni);
    int razlika = 0;
    for(int i = 0; i < n; i++) {
        razlika += (proizvodi[i].cena - novi_ceni[i]);
    }
    cout << razlika << endl;
    return 0;
}