Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cmath>
- using namespace std;
- #define N 20
- //----------------------------------------------
- enum typ_zwierza {
- MYSZ, KOT, PIES
- };
- enum metoda_sortowania{
- wiek, imie_wiek, typ_imie_wiek
- };
- //----------------------------------------------
- struct zwierz{
- typ_zwierza typ;
- string imie;
- int wiek;
- void wypisz_zwierza() const;
- };
- void zwierz::wypisz_zwierza() const
- {
- cout<<typ<<"imie: "<<imie<<" wiek: "<<wiek;
- }
- void wypisz(struct zwierz tablica[],int ilosc)
- {
- for(int i=0;i<ilosc;i++)
- {
- tablica[i].wypisz_zwierza();
- cout<<endl;
- }
- }
- void sort_wg_wieku (struct zwierz tablica[], int ilosc)
- {
- for(int i=0;i<ilosc-1;i++)
- {
- for(int j=0;j<ilosc-1;j++)
- {
- if( tablica[j].wiek>tablica[j+1].wiek)
- {
- struct zwierz temp=tablica[j];
- tablica[j]=tablica[j+1];
- tablica[j+1]=temp;
- }
- }
- }
- }
- void sort_wg_imienia (struct zwierz tablica[], int ilosc)
- {
- for(int i=0;i<ilosc-1;i++)
- {
- for(int j=0;j<ilosc-1;j++)
- {
- if( tablica[j].imie>tablica[j+1].imie)
- {
- struct zwierz temp=tablica[j];
- tablica[j]=tablica[j+1];
- tablica[j+1]=temp;
- }
- }
- }
- }
- void sort_wg_typu (struct zwierz tablica[], int ilosc)
- {
- for(int i=0;i<ilosc-1;i++)
- {
- for(int j=0;j<ilosc-1;j++)
- {
- if( tablica[j].typ>tablica[j+1].typ)
- {
- struct zwierz temp=tablica[j];
- tablica[j]=tablica[j+1];
- tablica[j+1]=temp;
- }
- }
- }
- }
- void sortuj(struct zwierz tablica[],int ilosc, metoda_sortowania metoda)
- {
- if(metoda==wiek)
- {
- sort_wg_wieku (tablica, ilosc);
- }
- else if(metoda==imie_wiek)
- {
- sort_wg_wieku (tablica, ilosc);
- sort_wg_imienia (tablica, ilosc);
- }
- else if(metoda==typ_imie_wiek)
- {
- sort_wg_wieku (tablica, ilosc);
- sort_wg_imienia (tablica, ilosc);
- sort_wg_typu (tablica, ilosc);
- }
- }
- int main()
- {
- zwierz zoo[]={ {PIES,"Reksio",5},{KOT,"Mruczek",4},{KOT,"Bonifacy",3},{KOT,"Leniwiec",2},
- {PIES,"Pimpek",4},{PIES,"Reksio",3},{KOT,"Mruczek",2},{MYSZ,"Gryzunia",3},
- {MYSZ,"Lola",5},{KOT,"Filutek",2},{MYSZ,"Frania",2},{MYSZ,"Gryzunia",1}};
- int n=sizeof(zoo)/sizeof(zwierz);
- int K;
- do{
- cout<<endl<<"ZOO:"<<endl;
- wypisz(zoo,n);
- cout<<"\nMENU:";
- cout<<"\n1 - zoo wg wiek";
- cout<<"\n2 - zoo wg imie_wiek";
- cout<<"\n3 - zoo wg typ_imie_wiek";
- cout<<"\n0 - KONIEC";
- cout<<"\n*** Podaj numer opcji: ";
- cin>>K;
- switch (K)
- {
- case 1: //zoo wg wiek
- sortuj(zoo,n,wiek);
- break;
- case 2: //zoo wg imie_wiek
- sortuj(zoo,n,imie_wiek);
- break;
- case 3: //zoo wg typ_imie_wiek
- sortuj(zoo,n,typ_imie_wiek);
- break;
- }//switch
- }while (K!=0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement