Return to Snippet

Revision: 60677
at November 12, 2012 06:25 by markoaleric


Initial Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int sifra1=1;

int datum(int koje){
 int dan, mj, god;
 if(koje==0)
     return rand()%30+1;
 if(koje==1)
     return rand()%11+1;
 if(koje==2)
     return rand()%5+2010;      
}
element unos(lista *l){
        tzivotinja un;
        un.sifra=sifra1++;
        cout<<"Sifra: "<<un.sifra<<endl;
        cin.ignore();
        cout<<"Unesi VRSTU: ";
        cin.getline(un.vrsta,40);
        cout<<"Unesi IME: ";
        cin.getline(un.ime,40);
        un.cijena=(rand()%15)*50;
        cout<<"Cijena: "<<un.cijena<<endl;

        un.dan=datum(0);
        un.mj=datum(1);
        un.god=datum(2);
        cout<<"Datum dostave je "<<un.dan<<"."<<un.mj<<"."<<un.god<<endl;
        int a=InsertL(un,EndL(l),l);
        if(a!=0) cout<<"Uspjesno dodano...\n";
        else cout<<"Zapis nije uspjesno dodan...\n";             
}

void ispis(lista *l){
    element lokacija=EndL(l);
    if(EndL(l)!=FirstL(l)){
        cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n";
        cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n";
        do{
                lokacija=PreviousL(lokacija,l);
                tzivotinja isp=RetreiveL(lokacija,l);
                cout<<isp.sifra<<"\t\t";
                cout<<isp.vrsta<<"\t\t";
                cout<<isp.ime<<"\t\t";
                cout<<isp.cijena<<"\t\t";   
                cout<<isp.dan<<"."<<isp.mj<<"."<<isp.god<<endl;      
        }while(lokacija!=FirstL(l)); 
    }  
}

void ispis_datum(lista *l){
    int m,d,g, ukupno=0;
    element lokacija=EndL(l);
    if(EndL(l)!=FirstL(l)){
        cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n";
        cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n";
        do{   
            lokacija=PreviousL(lokacija,l);       
            tzivotinja ispis=RetreiveL(lokacija,l);
            d=ispis.dan;
            m=ispis.mj;
            g=ispis.god;                       
            if(g>2012){
                    cout<<ispis.sifra<<"\t\t";
                    cout<<ispis.vrsta<<"\t\t";
                    cout<<ispis.ime<<"\t\t";
                    cout<<ispis.cijena<<"\t\t";        
                    cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
                    ukupno++;
             }
             else if(g==2012)
                if(m>9){
                    cout<<ispis.sifra<<"\t\t";
                    cout<<ispis.vrsta<<"\t\t";
                    cout<<ispis.ime<<"\t\t";
                    cout<<ispis.cijena<<"\t\t";        
                    cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
                    ukupno++;
                }
             else if(g==2012)
                if(m==9)
                    if(d>23){
                    cout<<ispis.sifra<<"\t\t";
                    cout<<ispis.vrsta<<"\t\t";
                    cout<<ispis.ime<<"\t\t";
                    cout<<ispis.cijena<<"\t\t";        
                    cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
                    ukupno++;
                    }      
                   
            
        }while(lokacija!=FirstL(l));               
        cout<<"Ukupno: "<<ukupno<<endl;
    }
}
void brisi_ime(lista *l){
     if(FirstL(l)==EndL(l)){
         cout<<"Lista prazna\n";
         return;}
     tzivotinja brisi;
     cout<<"Unesite ime: ";
     cin.ignore();
     cin.getline(brisi.ime,40);
     brisiime=1;
     element pozicija=LocateL(brisi,l);
     int a=DeleteL(pozicija, l);
     if(a==1)
                   cout<<"Zapis uspjesno ukonjen "<<endl;
     else
                   cout<<"Zapis nije obrisan "<<endl;     
}

void brisi_vrsta(lista *l){
     tzivotinja e, brisi;
     bool uspjesno=false;
     cout<<"Unesite vrstu "<<endl;
     cin.ignore();
     cin.getline(brisi.vrsta,35);
     if(FirstL(l)==EndL(l))return;
     brisiime=0;
     element lokacija=LocateL(brisi,l);

     while(lokacija!=EndL(l)){
                  DeleteL(lokacija,l);
                  uspjesno=true;
                  lokacija=LocateL(brisi,l);
                  }
     
     if(uspjesno)
                       cout<<"Zapisi uspjesno uklonjeni... "<<endl;
         else
                       cout<<"Zapis nije obrisan... "<<endl; 
}

int main(){
    int izbor;
    lista *L=InitL(L);
    do{         
         cout<<"\n1. Unos zivotinja\n";
         cout<<"2. Ispis od zadnjeg dodanog\n";
         cout<<"3. Ispis zivotinja dodanih nakon 23/09/2012\n";
         cout<<"4. Brisanje zapisa prema imenu\n";
         cout<<"5. Brisanje zapisa prema vrsti\n";
         cout<<"6. Sortiraj silazno prema cijeni i nazivu\n";
         cout<<"9. Izlaz\n";
         cout<<"Odaberi: ";
         cin>> izbor;
         cout<<endl;
          
         switch(izbor){
                  case 1:
                       unos(L);break;
                  case 2:

                       ispis(L);break;
                  case 3:
                       ispis_datum(L);break;
                  case 4:
                       brisi_ime(L);break;
                  case 5:
                       brisi_vrsta(L);break;
                  case 6:;
                       MSort(L);ispis(L);break;
                       
                       
                   
                       
         }
    }while(izbor!=9);
    system("pause");
    return 0;
}

Initial URL


Initial Description
Programsko rješenje za Evidenciju životinja za kolegij Strukture Podataka.

Initial Title
Zadatak 1 Glavni program

Initial Tags


Initial Language
C++