Return to Snippet

Revision: 60504
at November 16, 2012 18:48 by mnovosel2


Updated Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
      zivotinja unos,trenutni;
      int uvecaj=0;
      element lokacija=FirstL(novi);
      cout<<"Sifra zivotinje "<<endl;
      cout<<counter<<endl;
      unos.sifra=counter;
      cin.ignore();
      cout<<"Vrsta zivotinje "<<endl;
      cin.getline(unos.vrsta,35);
      cout<<"Naziv zivotinje "<<endl;
      cin.getline(unos.naziv,35);
      cout<<"Dan "<<endl;
      cin>>unos.datum[0];
      cout<<"Mjesec "<<endl;
      cin>>unos.datum[1];
      cout<<"Godina "<<endl;
      cin>>unos.datum[2];
      cout<<"Cijena "<<endl;
      cin>>unos.cijena;
      uvecaj=InsertL(unos,EndL(novi),novi);
      if(uvecaj==1){
             cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
             counter++;
      }
      else
          cout<<"Element nije dodan "<<endl<<endl;
}
void ispis(lista *ispis){
    element lokacija=EndL(ispis);
    lokacija=PreviousL(lokacija,ispis);
    if(EndL(ispis)!=FirstL(ispis)){
    while(5){
             zivotinja trenutni=RetreiveL(lokacija,ispis);
             cout<<"Sifra "<<trenutni.sifra<<endl;
             cout<<"Vrsta "<<trenutni.vrsta<<endl;
             cout<<"Naziv "<<trenutni.naziv<<endl;
             cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
             cout<<"Cijena "<<trenutni.cijena<<endl;
             cout<<"\t\t\t\t\t\t\t\t"<<endl;
             if(lokacija==FirstL(ispis))break;
             lokacija=PreviousL(lokacija,ispis);
             } 
             }   
}
void datum(lista *pretraga){
int broj=0;
element lokacija=EndL(pretraga);
lokacija=PreviousL(lokacija,pretraga);
if(EndL(pretraga)!=FirstL(pretraga)){
while(1){          
zivotinja trenutni=RetreiveL(lokacija,pretraga);                       
if(trenutni.datum[2]==2012){
                     if((trenutni.datum[1]>=9)){
                            if(trenutni.datum[1]==9){
                              if(trenutni.datum[0]>23){
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;             
                                 }
                              }
                         else{
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                 
                              }
                     }
                     }
                   else if(trenutni.datum[2]>2012){
                        cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                              
                        }
                   
                              if(lokacija==FirstL(pretraga))break;
                              lokacija=PreviousL(lokacija,pretraga);
                        }               
     cout<<endl<<"Broj "<<broj<<endl;
}
}
void brisanje(lista *brisi){
     int potvrda;
     if(FirstL(brisi)==EndL(brisi))return;
     zivotinja trenutni;
     cout<<"Unesite naziv "<<endl;
     cin.ignore();
     cin.getline(trenutni.naziv,35);
     element pozicija=LocateL(trenutni,brisi);
     potvrda=DeleteL(pozicija,brisi);
     if(potvrda==1)
                   cout<<"Element uspjesno ukonjen "<<endl;
     else
                   cout<<"Element nije obrisan "<<endl;
     }
void brisanje_vrsta(lista *ukloni){
     zivotinja e;
     bool potvrda=false;
     if(FirstL(ukloni)==EndL(ukloni)){
          cout<<"Lista je prazna "<<endl;                         
     return;}
     cout<<"Unesite vrstu "<<endl;
     cin.ignore();
     cin.getline(e.vrsta,35);
     element lokacija=LocateL(e,ukloni);
     if(lokacija==0){
                    DeleteL(lokacija,ukloni);
                    potvrda=true;
                    return;
                    }
     else
         while(lokacija!=EndL(ukloni)){
                  DeleteL(lokacija,ukloni);
                  potvrda=true;
                  lokacija=LocateL(e,ukloni);
                  }
     if(potvrda==true)
                cout<<"Elementi uspjesno obrisani "<<endl<<endl;
     else
                cout<<"Elementi nisu obrisani "<<endl<<endl;
}
int main(){
int select;
lista *L=InitL(L);
do{
    cout<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
    cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
    cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
    cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
    cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
    cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
    cout<<"0. Kraj programa "<<endl; 
    cin>>select;
    switch(select){
    case 1:
           unos(L);
           break;  
     case 2:
            ispis(L);
            break;
     case 3:
          datum(L);
            break;    
     case 4:
          brisanje(L);
          break;  
     case 5:
          brisanje_vrsta(L);
          break;
     case 6:
          MSort(L,FirstL(L),EndL(L)-1);
          break;
}               
}while(select!=0);    
system("pause");  
return 0;
}

Revision: 60503
at November 16, 2012 18:46 by mnovosel2


Updated Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
      zivotinja unos,trenutni;
      int uvecaj=0;
      element lokacija=FirstL(novi);
      cout<<"Sifra zivotinje "<<endl;
      cout<<counter<<endl;
      unos.sifra=counter;
      cin.ignore();
      cout<<"Vrsta zivotinje "<<endl;
      cin.getline(unos.vrsta,35);
      cout<<"Naziv zivotinje "<<endl;
      cin.getline(unos.naziv,35);
      cout<<"Dan "<<endl;
      cin>>unos.datum[0];
      cout<<"Mjesec "<<endl;
      cin>>unos.datum[1];
      cout<<"Godina "<<endl;
      cin>>unos.datum[2];
      cout<<"Cijena "<<endl;
      cin>>unos.cijena;
      uvecaj=InsertL(unos,EndL(novi),novi);
      if(uvecaj==1){
             cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
             counter++;
      }
      else
          cout<<"Element nije dodan "<<endl<<endl;
}
void ispis(lista *ispis){
    element lokacija=EndL(ispis);
    lokacija=PreviousL(lokacija,ispis);
    if(EndL(ispis)!=FirstL(ispis)){
    while(5){
             zivotinja trenutni=RetreiveL(lokacija,ispis);
             cout<<"Sifra "<<trenutni.sifra<<endl;
             cout<<"Vrsta "<<trenutni.vrsta<<endl;
             cout<<"Naziv "<<trenutni.naziv<<endl;
             cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
             cout<<"Cijena "<<trenutni.cijena<<endl;
             cout<<"\t\t\t\t\t\t\t\t"<<endl;
             if(lokacija==FirstL(ispis))break;
             lokacija=PreviousL(lokacija,ispis);
             } 
             }   
}
void datum(lista *pretraga){
int broj=0;
element lokacija=EndL(pretraga);
lokacija=PreviousL(lokacija,pretraga);
if(EndL(pretraga)!=FirstL(pretraga)){
while(1){          
zivotinja trenutni=RetreiveL(lokacija,pretraga);                       
if(trenutni.datum[2]==2012){
                     if((trenutni.datum[1]>=9)){
                            if(trenutni.datum[1]==9){
                              if(trenutni.datum[0]>23){
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;             
                                 }
                              }
                         else{
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                 
                              }
                     }
                     }
                   else if(trenutni.datum[2]>2012){
                        cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                              
                        }
                   
                              if(lokacija==FirstL(pretraga))break;
                              lokacija=PreviousL(lokacija,pretraga);
                        }               
     cout<<endl<<"Broj "<<broj<<endl;
}
}
void brisanje(lista *brisi){
     int potvrda;
     if(FirstL(brisi)==EndL(brisi))return;
     zivotinja trenutni;
     cout<<"Unesite naziv "<<endl;
     cin.ignore();
     cin.getline(trenutni.naziv,35);
     element pozicija=LocateL(trenutni,brisi);
     potvrda=DeleteL(pozicija,brisi);
     if(potvrda==1)
                   cout<<"Element uspjesno ukonjen "<<endl;
     else
                   cout<<"Element nije obrisan "<<endl;
     }
void brisanje_vrsta(lista *ukloni){
     zivotinja e;
     bool potvrda=false;
     if(FirstL(ukloni)==EndL(ukloni)){
          cout<<"Lista je prazna "<<endl;                         
     return;}
     cout<<"Unesite vrstu "<<endl;
     cin.ignore();
     cin.getline(e.vrsta,35);
     element lokacija=LocateL(e,ukloni);
     if(lokacija==0){
                    DeleteL(lokacija,ukloni);
                    potvrda=true;
                    return;
                    }
     else
         while(lokacija!=EndL(ukloni)){
                  DeleteL(lokacija,ukloni);
                  potvrda=true;
                  lokacija=LocateL(e,ukloni);
                  }
     if(potvrda==true)
                cout<<"Elementi uspjesno obrisani "<<endl<<endl;
     else
                cout<<"Elementi nisu obrisani "<<endl<<endl;
}
int main(){
int select;
lista *L=InitL(L);
do{
    cout<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
    cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
    cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
    cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
    cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
    cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
    cout<<"0. Kraj programa "<<endl; 
    cin>>select;
    switch(select){
    case 1:
           unos(L);
           break;  
     case 2:
            ispis(L);
            break;
     case 3:
          datum(L);
            break;    
     case 4:
          brisanje(L);
          break;  
     case 5:
          brisanje_vrsta(L);
          break;
     case 6:
          element kraj=PreviousL(EndL(L),L);
          MSort(L,FirstL(L),EndL(L)-1);
          break;
}               
}while(select!=0);    
system("pause");  
return 0;
}

Revision: 60502
at November 11, 2012 01:20 by mnovosel2


Initial Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
      zivotinja unos,trenutni;
      int uvecaj=0;
      element lokacija=FirstL(novi);
      cout<<"Sifra zivotinje "<<endl;
      cout<<counter<<endl;
      unos.sifra=counter;
      cin.ignore();
      cout<<"Vrsta zivotinje "<<endl;
      cin.getline(unos.vrsta,35);
      cout<<"Naziv zivotinje "<<endl;
      cin.getline(unos.naziv,35);
      cout<<"Dan "<<endl;
      cin>>unos.datum[0];
      cout<<"Mjesec "<<endl;
      cin>>unos.datum[1];
      cout<<"Godina "<<endl;
      cin>>unos.datum[2];
      cout<<"Cijena "<<endl;
      cin>>unos.cijena;
      uvecaj=InsertL(unos,EndL(novi),novi);
      if(uvecaj==1){
             cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
             counter++;
      }
      else
          cout<<"Element nije dodan "<<endl<<endl;
}
void ispis(lista *ispis){
    element lokacija=EndL(ispis);
    lokacija=PreviousL(lokacija,ispis);
    if(EndL(ispis)!=FirstL(ispis)){
    while(5){
             zivotinja trenutni=RetreiveL(lokacija,ispis);
             cout<<"Sifra "<<trenutni.sifra<<endl;
             cout<<"Vrsta "<<trenutni.vrsta<<endl;
             cout<<"Naziv "<<trenutni.naziv<<endl;
             cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
             cout<<"Cijena "<<trenutni.cijena<<endl;
             cout<<"\t\t\t\t\t\t\t\t"<<endl;
             if(lokacija==FirstL(ispis))break;
             lokacija=PreviousL(lokacija,ispis);
             } 
             }   
}
void datum(lista *pretraga){
int broj=0;
element lokacija=EndL(pretraga);
lokacija=PreviousL(lokacija,pretraga);
if(EndL(pretraga)!=FirstL(pretraga)){
while(1){          
zivotinja trenutni=RetreiveL(lokacija,pretraga);                       
if(trenutni.datum[2]==2012){
                     if((trenutni.datum[1]>=9)){
                            if(trenutni.datum[1]==9){
                              if(trenutni.datum[0]>23){
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;             
                                 }
                              }
                         else{
                              cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                 
                              }
                     }
                     }
                   else if(trenutni.datum[2]>2012){
                        cout<<"Sifra "<<trenutni.sifra<<endl;              
                              cout<<"Naziv "<<trenutni.naziv<<endl; 
                              cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
                              cout<<"Vrsta "<<trenutni.vrsta<<endl;
                              cout<<"Cijena "<<trenutni.cijena<<endl;
                              cout<<"\t\t\t\t\t\t"<<endl;  
                              broj++;     
                              
                        }
                   
                              if(lokacija==FirstL(pretraga))break;
                              lokacija=PreviousL(lokacija,pretraga);
                        }               
     cout<<endl<<"Broj "<<broj<<endl;
}
}
void brisanje(lista *brisi){
     int potvrda;
     if(FirstL(brisi)==EndL(brisi))return;
     zivotinja trenutni;
     element lokacija=EndL(brisi);
     lokacija=PreviousL(lokacija,brisi);
     cout<<"Unesite naziv "<<endl;
     cin.ignore();
     cin.getline(trenutni.naziv,35);
     element pozicija=LocateL(trenutni,brisi);
     potvrda=DeleteL(pozicija,brisi);
     if(potvrda==1)
                   cout<<"Element uspjesno ukonjen "<<endl;
     else
                   cout<<"Element nije obrisan "<<endl;
     }
void brisanje_vrsta(lista *ukloni){
     zivotinja e;
     bool potvrda=false;
     if(FirstL(ukloni)==EndL(ukloni)){
          cout<<"Lista je prazna "<<endl;                         
     return;}
     cout<<"Unesite vrstu "<<endl;
     cin.ignore();
     cin.getline(e.vrsta,35);
     element lokacija=LocateL(e,ukloni);
     if(lokacija==0){
                    DeleteL(lokacija,ukloni);
                    potvrda=true;
                    return;
                    }
     else
         while(lokacija!=EndL(ukloni)){
                  DeleteL(lokacija,ukloni);
                  potvrda=true;
                  lokacija=LocateL(e,ukloni);
                  }
     if(potvrda==true)
                cout<<"Elementi uspjesno obrisani "<<endl<<endl;
     else
                cout<<"Elementi nisu obrisani "<<endl<<endl;
}
int main(){
int select;
lista *L=InitL(L);
do{
    cout<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
    cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
    cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
    cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
    cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
    cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
    cout<<"0. Kraj programa "<<endl; 
    cin>>select;
    switch(select){
    case 1:
           unos(L);
           break;  
     case 2:
            ispis(L);
            break;
     case 3:
          datum(L);
            break;    
     case 4:
          brisanje(L);
          break;  
     case 5:
          brisanje_vrsta(L);
          break;
     case 6:
          element kraj=PreviousL(EndL(L),L);
          MSort(L,FirstL(L),EndL(L)-1);
          break;
}               
}while(select!=0);    
system("pause");  
return 0;
}

Initial URL


Initial Description
Prikaz glavnog programa u kojem su realizirane funkcije za unos, ispis i brisanje.  U glavnom programu pozivamo header  listapokazivac.h ili listapolje.h

Initial Title
Strukture podataka - main program

Initial Tags


Initial Language
C++