Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *Да се дефинира класа Mushterija за која ќе се чуваат податоци за:
- име на муштеријата(динамички алоцирана низа од знаци)
- колку производи купил (цел број)
- цена на секој производ (динамички алоцирана низа од децимални броеви)
- За потребите на оваа класа да се креираат потребните конструктори, соодветни сет и гет методи ( или кои и да ти требаат )и да се напише соодветен деструктор. Дополнително за оваа класа да се дефинира функцијата:
- print() - функција во која ќе се печатат податоците за муштеријата во следниот формат: име - производи - вкупната цена на производи.
- hint: вкупна цена ќе треба ви биде функција
- *Да се дефинира класа Market во која се чуваат:
- име (динамички алоцирана низа од знаци)
- динмички алоцирана низа од објекти од класата Муштерија
- број на муштерии (цел број)
- За потребите на оваа класа да се дефинираат потребните конструктори и да се напише соодветен деструктор. Да се имплементираат и следниве функции:
- dodadi(Mushterija p) - за додавање нов муштерија во маркетот
- izbrisi(Mushterija p) - за да го избрише муштеријата пратен во параметри
- print() - ќе ги испринта сите муштерии
- averageCena() - ќе ја испринта средната вредност на вкупната цената на производи на сите муштерии заедно
- aboveAverage() - ќе ги испринта сите муштерии што имаат цена на производи над средната вредност
- Оваа решете ја и good to go сте за понеделник. Со среќа! Решението го добивате недела сабајле :D
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Mushterija{
- private:
- float *cena;
- int proizvodi;
- char *ime;
- public:
- Mushterija(){}
- Mushterija(char *ime,int proizvodi,float *cena){
- this->ime=new char[strlen(ime)+1];
- strcpy(this->ime,ime);
- this->proizvodi=proizvodi;
- this->cena=new float[proizvodi];
- for(int i=0;i<proizvodi;i++){
- this->cena[i]=cena[i];
- }
- }
- float vkupnaCena(){
- float zbir=0;
- for(int i=0;i<proizvodi;i++){
- zbir+=cena[i];
- }
- return zbir;
- }
- void print(){
- cout<<ime<<" kupil "<<proizvodi<<" proizvodi, vkupna cena: "<<vkupnaCena()<<endl;
- }
- int getProizvodi(){
- return this->proizvodi;
- }
- char* getIme(){
- return this->ime;
- }
- };
- class Market{
- private:
- Mushterija *mushterii;
- int n;
- char *ime;
- public:
- Market(){}
- Market(char *ime){
- this->ime=new char[strlen(ime)+1];
- strcpy(this->ime,ime);
- mushterii = new Mushterija[0];
- for(int i=0;i<n;i++)
- this->mushterii[i]=mushterii[i];
- n=0;
- }
- void print(){
- for(int i=0;i<n;i++){
- mushterii[i].print();
- }
- }
- float averageCena(){
- float zbir=0;
- for(int i=0;i<n;i++){
- zbir+=mushterii[i].vkupnaCena();
- }
- return zbir/n;
- }
- void dodadi(Mushterija &p){
- Mushterija *tmp = new Mushterija[n+1];
- for(int i=0;i<n;i++){
- tmp[i]=mushterii[i];
- }
- mushterii=new Mushterija[n+1];
- for(int i=0;i<n;i++){
- mushterii[i]=tmp[i];
- }
- mushterii[n]=p;
- n++;
- delete []tmp;
- }
- void izbrisi(Mushterija &p){
- Mushterija *tmp = new Mushterija[n-1];
- int brojac=0;
- for(int i=0;i<n;i++){
- if(!(strcmp(p.getIme(),mushterii[i].getIme())==0)){
- tmp[brojac]=mushterii[i];
- brojac++;
- }
- }
- mushterii=new Mushterija[n-1];
- n--;
- for(int i=0;i<n;i++){
- mushterii[i]=tmp[i];
- }
- delete []tmp;
- }
- void aboveAverage(){
- float average = averageCena();
- for(int i=0;i<n;i++){
- if(mushterii[i].vkupnaCena()>averageCena()){
- mushterii[i].print();
- }
- }
- }
- };
- int main(){
- char imeM[15];
- cin>>imeM;
- Market hubo(imeM);
- int n;
- cin>>n;
- Mushterija niza[n];
- char ime[15];
- int dolz;
- for(int i=0;i<n;i++){
- cin>>ime>>dolz;
- float proizvodi[dolz];
- for(int j=0;j<dolz;j++){
- cin>>proizvodi[j];
- }
- niza[i] = Mushterija(ime,dolz,proizvodi);
- hubo.dodadi(niza[i]); // povik na dodadi funkcijata
- }
- cout<<"\nSite mushterii vo marketot se"<<endl;
- hubo.print(); // printame site mushterii vo marketot
- cout<<"\nAverage cena e "<<hubo.averageCena()<<endl; // printa average plata na site mushterii
- cout<<"\nKe go izbrisham objektot "<<niza[1].getIme()<<endl;
- hubo.izbrisi(niza[1]);
- cout<<"\nSite mushterii vo marketot posle brishenje na "<<niza[1].getIme()<<" se"<<endl;
- hubo.print();
- cout<<"\nGi printam site shto imaat nad average cena na proizvodi"<<endl;
- hubo.aboveAverage();
- return 0;
- }
- // main
- int main(){
- char imeM[15];
- cin>>imeM;
- Market hubo(imeM);
- int n;
- cin>>n;
- Mushterija niza[n];
- char ime[15];
- int dolz;
- for(int i=0;i<n;i++){
- cin>>ime>>dolz;
- float proizvodi[dolz];
- for(int j=0;j<dolz;j++){
- cin>>proizvodi[j];
- }
- niza[i] = Mushterija(ime,dolz,proizvodi);
- hubo.dodadi(niza[i]); // povik na dodadi funkcijata
- }
- cout<<"\nSite mushterii vo marketot se"<<endl;
- hubo.print(); // printame site mushterii vo marketot
- cout<<"\nAverage cena e "<<hubo.averageCena()<<endl; // printa average plata na site mushterii
- cout<<"\nKe go izbrisham objektot "<<niza[1].getIme()<<endl;
- hubo.izbrisi(niza[1]);
- cout<<"\nSite mushterii vo marketot posle brishenje na "<<niza[1].getIme()<<" se"<<endl;
- hubo.print();
- cout<<"\nGi printam site shto imaat nad average cena na proizvodi"<<endl;
- hubo.aboveAverage();
- return 0;
- }
Add Comment
Please, Sign In to add comment