Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class TV{
- private:
- char ime[100];
- bool vid;
- int kategorija;
- float rejting;
- public:
- TV(){}
- TV(char *i,bool v,int k,float r){
- strcpy(ime,i);
- vid=v;
- kategorija=k;
- rejting=r;
- }
- //operator <<
- friend ostream& operator<<(ostream &out,const TV &t){
- if(t.vid==1){
- out<<t.ime<<endl;
- out<<"D"<<endl;
- out<<t.kategorija<<endl;
- out<<t.rejting<<endl;
- }
- else if(t.vid==0){
- out<<t.ime<<endl;
- out<<"A"<<endl;
- out<<t.kategorija<<endl;
- out<<t.rejting<<endl;
- }
- return out;
- }
- //operator==
- bool operator==(const TV &t){
- return (strcmp(ime,t.ime)==0&&(kategorija=t.kategorija)==0);
- }
- TV& operator++(){
- rejting+=0.5;
- return *this;
- }
- float getRejting(){
- return rejting;
- }
- ~TV(){}
- };
- class KabelskiOperator{
- private:
- char ime[100];
- TV *televizii;
- int broj;
- public:
- KabelskiOperator(char *i,TV *t,int b){
- strcpy(ime,i);
- broj=b;
- televizii=new TV[broj];
- for(int i=0;i<broj;i++){
- televizii[i]=t[i];
- }
- }
- KabelskiOperator(char *i){
- strcpy(ime,i);
- broj=0;
- televizii=0;
- }
- //destructor
- //copy
- KabelskiOperator(const KabelskiOperator &k){
- strcpy(ime,k.ime);
- broj=k.broj;
- televizii=new TV[k.broj];
- for(int i=0;i<k.broj;i++){
- televizii[i]=k.televizii[i];
- }
- }
- //operator=
- KabelskiOperator& operator=(const KabelskiOperator &k){
- if(this!=&k){
- strcpy(ime,k.ime);
- broj=k.broj;
- televizii=new TV[k.broj];
- for(int i=0;i<k.broj;i++){
- televizii[i]=k.televizii[i];
- }
- }
- return *this;
- }
- //operator+=
- KabelskiOperator& operator+=(TV &t){
- if(t.getRejting()>5){
- TV *tmp=new TV[broj+1];
- for(int i=0;i<broj;i++){
- tmp[i]=televizii[i];
- }
- tmp[broj++]=t;
- delete [] televizii;
- televizii=tmp;
- }
- return *this;
- }
- //operator <<
- friend ostream& operator<<(ostream &out, KabelskiOperator &k){
- out<<k.ime<<endl;
- for(int i=0;i<k.broj;i++){
- out<<k.televizii[i]<<endl;
- }
- return out;
- }
- void zgolemi(const TV &tv){
- for(int i=0;i<broj;i++){
- if(televizii[i]==tv){
- ++televizii[i];
- break;
- }
- }
- }
- };
- int main() {
- int n, x;
- cin >> n >> x;
- char name[100];
- cin >> name;
- KabelskiOperator ko(name);
- TV t;
- for(int i = 0; i < n; ++i) {
- char name[100];
- bool digital;
- int category;
- float rating;
- cin >> name >> digital >> category >> rating;
- TV tv(name, digital, category, rating);
- ko += tv;
- if(i == x) {
- t = tv;
- }
- }
- cout << ko;
- cout << "=== ZGOLEMI ===" << endl;
- cout << t;
- ko.zgolemi(t);
- cout << ko;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement