Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class webPage
- {
- private:
- char url[100];
- char *sodrzina;
- public:
- webPage()
- {
- strcpy(this->url,"");
- this->sodrzina = new char[1];
- strcpy(this->sodrzina,"");
- }
- webPage(char *url, char *sodrzina)
- {
- strcpy(this->url,url);
- this->sodrzina=new char[strlen(sodrzina)+1];
- strcpy(this->sodrzina,sodrzina);
- }
- webPage(const webPage &wp)
- {
- strcpy(this->url,wp.url);
- this->sodrzina=new char[strlen(wp.sodrzina)+1];
- strcpy(this->sodrzina,wp.sodrzina);
- }
- char *getUrl(){return this->url;}
- void setUrl(char *url){strcpy(this->url,url);}
- char *getSodrzina(){return this->sodrzina;}
- void setSodrzina(char *sodrzina)
- {
- delete[]this->sodrzina;
- this->sodrzina=new char[strlen(sodrzina)+1];
- strcpy(this->sodrzina,sodrzina);
- }
- void pecati()
- {
- cout<<"URL na sajtot: "<<url<<endl;
- cout<<"Sodrzina na sajtot: "<<sodrzina<<endl;
- }
- bool proverka(webPage wp)
- {
- if(strcmp(this->url,wp.url)==0&&strcmp(this->sodrzina,wp.sodrzina)==0) return true;
- return false;
- }
- webPage &operator=(webPage &wp)
- {
- strcpy(this->url,wp.url);
- delete[]this->sodrzina;
- this->sodrzina=new char[strlen(wp.sodrzina)+1];
- strcpy(this->sodrzina,wp.sodrzina);
- return *this;
- }
- };
- class webServer
- {
- private:
- char ime[30];
- webPage *wps;
- int n;
- public:
- webServer()
- {
- strcpy(this->ime,"");
- this->wps=0;
- this->n=0;
- }
- webServer(char *ime, webPage *wps, int n)
- {
- strcpy(this->ime,ime);
- this->wps=new webPage[n];
- for(int i=0;i<n;i++)
- {
- this->wps[i]=wps[i];
- }
- this->n=n;
- }
- webServer(const webServer &ws)
- {
- strcpy(this->ime,ws.ime);
- this->wps=new webPage[ws.n];
- for(int i=0;i<ws.n;i++)
- {
- this->wps[i]=ws.wps[i];
- }
- this->n=ws.n;
- }
- char *getIme(){return this->ime;}
- void setIme(char *ime){strcpy(this->ime,ime);}
- webPage *getWps(){return this->wps;}
- void setWps(webPage *wps, int n)
- {
- delete []this->wps;
- this->wps=new webPage[n];
- for(int i=0;i<n;i++)
- {
- this->wps[i].setUrl(wps[i].getUrl());
- this->wps[i].setSodrzina(wps[i].getSodrzina());
- }
- this->n=n;
- }
- void pecati()
- {
- cout<<"Ime na veb-serverot: "<<ime<<endl;
- cout<<"Stranici koi gi sodrzi veb-serverot: "<<endl;
- for(int i=0;i<n;i++)
- {
- wps[i].pecati();
- }
- }
- void dodadi(webPage &wp)
- {
- webPage *temp;
- temp=new webPage[this->n];
- for(int i=0;i<n;i++)
- {
- temp[i]=wps[i];
- }
- delete[]this->wps;
- this->wps=new webPage[this->n+1];
- for(int i=0;i<n;i++)
- {
- this->wps[i]=temp[i];
- }
- this->wps[n]=wp;
- delete[] temp;
- this->n++;
- }
- void izbrisi(webPage &wp)
- {
- webPage *temp;
- int flag=0;
- temp=new webPage[this->n];
- int j=0;
- for(int i=0;i<n;i++)
- {
- if(this->wps[i].proverka(wp))
- {
- continue;
- }
- temp[j]=this->wps[i];
- flag=1;
- j++;
- }
- if(flag)
- {
- delete[]this->wps;
- this->wps=new webPage[n-1];
- for(int i=0;i<n-1;i++)
- {
- wps[i]=temp[i];
- }
- this->n--;
- }
- else
- {
- for(int i=0;i<n;i++)
- {
- wps[i]=temp[i];
- }
- }
- delete[]temp;
- }
- void sortiraj_po_dolzina()
- {
- for(int i=0;i<this->n;i++)
- {
- for(int j=i+1;j<this->n;j++)
- {
- if(strlen(this->wps[i].getUrl())>strlen(this->wps[j].getUrl()))
- {
- webPage tmp;
- tmp=wps[i];
- wps[i]=wps[j];
- wps[j]=tmp;
- }
- }
- }
- }
- void sortiraj_po_azbucen_red()
- {
- for(int i=0;i<n;i++)
- {
- for(int j=i+1;j<n;j++)
- {
- if(strcmp(wps[i].getUrl(),wps[j].getUrl())>0)
- {
- webPage tmp;
- tmp=wps[i];
- wps[i]=wps[j];
- wps[j]=tmp;
- }
- }
- }
- }
- };
- void sortiraj_po_azbucen_red(webPage *wps, int n)
- {
- for(int i=0;i<n;i++)
- {
- for(int j=i+1;j<n;j++)
- {
- if(strcmp(wps[i].getUrl(),wps[j].getUrl())>0)
- {
- webPage tmp;
- tmp=wps[i];
- wps[i]=wps[j];
- wps[j]=tmp;
- }
- }
- }
- }
- int main()
- {
- int n;
- webPage *wps;
- wps= new webPage[10];
- char url[100];
- char *sodrzina;
- sodrzina=new char[100];
- char ime[30];
- webServer ws;
- cout <<"Vnesete broj na web-stranici koi sakate da gi kreirate" << endl;
- cin>>n;
- for(int i=0;i<n;i++)
- {
- cout<<"Vnesete url na web-stranata"<<endl;
- cin>>url;
- cout<<"Vnesete sodrzina na web-stranata"<<endl;
- cin>>sodrzina;
- webPage t(url,sodrzina);
- wps[i]=t;
- cout<<"Kreirana e nova web-stranica"<<endl;
- }
- cout<<"Vnesete ime na serverot"<<endl;
- cin>>ime;
- ws=webServer(ime,wps,n);
- cout<<endl;
- cout<<"Izgraden e web-server"<<endl;
- ws.pecati();
- cout<<endl<<endl;
- cout<<"Ispecaten e serverot so web-stranicite koi gi sodrzi vo nego"<<endl;
- cout<<"Dokolku sakate da dodadite strana vo serverot vnesete 1"<<endl;
- cout<<"Dokolku sakate da izbrisite veke postoecka stranica vnesete 2"<<endl;
- cout<<"Za da gi sortirate web-stranite po azbucen red pritisnete 3(nadvoresna fun.)"<<endl;
- cout<<"Za da gi sortirate web-stranite po dolzina na URL pritisnete 4"<<endl;
- cout<<"Za da go ispecatite web-serverot i da prekinite vnesete 5"<<endl;
- cout<<"Za da gi sortirate web-stranite po azbucen red pritisnete 3(vnatresna fun.)"<<endl;
- int c;
- while(1)
- {
- cin>>c;
- if(c==1)
- {
- cout<<"Vnesete web strana koja sakate da se dodadi na serverot"<<endl;
- cout<<"Vnesete url na web-stranata"<<endl;
- cin>>url;
- cout<<"Vnesete sodrzina na web-stranata"<<endl;
- cin>>sodrzina;
- webPage wp=webPage(url,sodrzina);
- ws.dodadi(wp);
- cout<<"Kreirana e nova web-stranica i istata e dodadena vo web-serverot"<<endl;
- }
- if(c==2)
- {
- cout<<"Vnesete web strana koja sakate da se izbrise od serverot"<<endl;
- cout<<"Vnesete url na web-stranata"<<endl;
- cin>>url;
- cout<<"Vnesete sodrzina na web-stranata"<<endl;
- cin>>sodrzina;
- webPage wp=webPage(url,sodrzina);
- ws.izbrisi(wp);
- cout<<"web-stranata koja ja vnesovte e izbrisana od web-serverot"<<endl;
- }
- if(c==3)
- {
- sortiraj_po_azbucen_red(ws.getWps(),n);
- ws.pecati();
- }
- if(c==4)
- {
- ws.sortiraj_po_dolzina();
- ws.pecati();
- }
- if(c==6)
- {
- ws.sortiraj_po_azbucen_red();
- ws.pecati();
- }
- if(c==5)
- {
- ws.pecati();
- break;
- }
- }
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement