Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- enum zanr{AKCIJA,KOMEDIJA,DRAMA};
- class Film{
- private:
- char *ime;
- int memorija;
- zanr z;
- public:
- Film(char* ime="",int memorija=0,zanr z=zanr(0)){
- this->memorija=memorija;
- this->z=z;
- this->ime=new char[strlen(ime)+1];
- strcpy(this->ime,ime);
- }
- Film (const Film& f){
- memorija=f.memorija;
- z=f.z;
- ime=new char[strlen(f.ime)+1];
- strcpy(ime,f.ime);
- }
- Film& operator=(const Film& f){
- if(this==&f) return *this;
- memorija=f.memorija;
- z=f.z;
- delete [] ime;
- ime=new char[strlen(f.ime)+1];
- strcpy(ime,f.ime);
- return *this;
- }
- void pecati(){
- char c='"';
- cout<<memorija<<"MB-"<<c<<ime<<c<<endl;
- }
- int getm(){ return memorija; }
- zanr getz(){ return z; }
- ~Film(){
- delete [] ime;
- }
- };
- class DVD{
- private:
- Film f[5];
- int brf;
- int mb;
- public:
- DVD (int mb=0){
- this->mb=mb;
- brf=0;
- }
- void dodadiFilm(Film ff){
- if(brf<5&&ff.getm()<=mb){
- f[brf]=ff;
- ++brf;
- mb-=ff.getm();
- }
- }
- void pecatiFilmoviDrugZanr(zanr z){
- for(int i=0;i<brf;i++){
- if(f[i].getz()!=z){
- f[i].pecati();
- }
- }
- }
- Film getFilm(int i){ return f[i]; }
- int getBroj(){ return brf; }
- ~DVD(){}
- };
- int main() {
- // se testira zadacata modularno
- int testCase;
- cin >> testCase;
- int n, memorija, kojzanr;
- char ime[50];
- if(testCase == 1) {
- cout << "===== Testiranje na klasata Film ======" << endl;
- cin >> ime;
- cin >> memorija;
- cin >> kojzanr; //se vnesuva 0 za AKCIJA,1 za KOMEDIJA i 2 za DRAMA
- Film f(ime,memorija,(zanr)kojzanr);
- f.pecati();
- } else if(testCase == 2) {
- cout << "===== Testiranje na klasata DVD ======" << endl;
- DVD omileno(50);
- cin>>n;
- for (int i=0; i<n; i++) {
- cin >> ime;
- cin >> memorija;
- cin >> kojzanr; //se vnesuva 0 za AKCIJA,1 za KOMEDIJA i 2 za DRAMA
- Film f(ime,memorija,(zanr)kojzanr);
- omileno.dodadiFilm(f);
- }
- for (int i=0; i<n; i++)
- (omileno.getFilm(i)).pecati();
- } else if(testCase == 3) {
- cout << "===== Testiranje na metodot dodadiFilm() od klasata DVD ======" << endl;
- DVD omileno(50);
- cin>>n;
- for (int i=0; i<n; i++) {
- cin >> ime;
- cin >> memorija;
- cin >> kojzanr; //se vnesuva 0 za AKCIJA,1 za KOMEDIJA i 2 za DRAMA
- Film f(ime,memorija,(zanr)kojzanr);
- omileno.dodadiFilm(f);
- }
- for (int i=0; i<omileno.getBroj(); i++)
- (omileno.getFilm(i)).pecati();
- } else if(testCase == 4) {
- cout << "===== Testiranje na metodot pecatiFilmoviDrugZanr() od klasata DVD ======" << endl;
- DVD omileno(50);
- cin>>n;
- for (int i=0; i<n; i++) {
- cin >> ime;
- cin >> memorija;
- cin >> kojzanr; //se vnesuva 0 za AKCIJA,1 za KOMEDIJA i 2 za DRAMA
- Film f(ime,memorija,(zanr)kojzanr);
- omileno.dodadiFilm(f);
- }
- cin>>kojzanr;
- omileno.pecatiFilmoviDrugZanr((zanr)kojzanr);
- } else if(testCase == 5) {
- cout << "===== Testiranje na metodot pecatiFilmoviDrugZanr() od klasata DVD ======" << endl;
- DVD omileno(50);
- cin>>n;
- for (int i=0; i<n; i++) {
- cin >> ime;
- cin >> memorija;
- cin >> kojzanr; //se vnesuva 0 za AKCIJA,1 za KOMEDIJA i 2 za DRAMA
- Film f(ime,memorija,(zanr)kojzanr);
- omileno.dodadiFilm(f);
- }
- cin>>kojzanr;
- omileno.pecatiFilmoviDrugZanr((zanr)kojzanr);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement