Return to Snippet

Revision: 60646
at November 12, 2012 04:28 by Lovro_P


Initial Code
#include <iostream>
using namespace std;

void text(char *ime){
     cin.getline(ime,30);
     if(cin.gcount()==1)
                        cin.getline(ime,30);
     }//void unos znakovnog niza  

struct pzivotinja{
		int sifra,dan,mjesec,godina;
		float cijena;
		char naziv[20], vrsta[20];
} ;//struktura

                              
struct tzivotinja{
               pzivotinja*element;
               tzivotinja*sljedeci;
               };
               
tzivotinja *novi;
tzivotinja *FirstL(tzivotinja *lista){
                          tzivotinja *zadnji;     
                          zadnji=lista;
                          return zadnji->sljedeci;
                        }
int EndL(tzivotinja*lista){
                        return 0;
                             }
tzivotinja *NextL(int p, tzivotinja *lista){
                                    tzivotinja*zadnji;
                                    zadnji=lista;
                                    int brojac=0;
                                    while(brojac<p){
                                                    zadnji=zadnji->sljedeci;
                                                    brojac++;
                                                    }
                                    return zadnji->sljedeci;
                                    }
tzivotinja *PreviousL(int p, tzivotinja *lista){
                                        tzivotinja *zadnji;
                                        zadnji=lista;
                                        int brojac=0;
                                        p-=2;
                                        while(brojac<p){
                                                        zadnji=zadnji->sljedeci;
                                                        brojac++;
                                                        }
                                        return zadnji->sljedeci;
                                        }
tzivotinja *LocateL(int n,tzivotinja *lista){
                                     tzivotinja *zadnji;
                                     zadnji=lista;
                                     while(zadnji->sljedeci){
                                                             novi=zadnji->sljedeci;
                                                             if(novi->element->sifra==n){
                                                                                cout<<"PRONADJENO!\n";
                                                                                return zadnji->sljedeci;
                                                                                }
                                                             else zadnji=zadnji->sljedeci;
                                                             }
                                     cout<<"NIJE PRONADJENO!\n";
                                     return NULL;
                                     }
void InsertL(pzivotinja *novi, int p, tzivotinja*lista){
                                     tzivotinja*zadnji;
                                     zadnji = lista;
                                     tzivotinja *novi3=new tzivotinja;
                                     novi3->element=novi;
                                     novi3->sljedeci=NULL;
                                     int brojac=0;
                                     while(brojac<p){
                                                     zadnji=zadnji->sljedeci;
                                                     brojac++;
                                                     }    
                                     if(zadnji->sljedeci){                
                                                          novi3->sljedeci=zadnji->sljedeci;
                                                          zadnji->sljedeci=novi3;
                                                          }
                                     else zadnji->sljedeci=novi3;
                                      }
int DeleteL(int p, tzivotinja*lista){
                                   tzivotinja*zadnji;
                                   zadnji=lista;
                                   bool pogresan;
                                   int brojac=0;
                                   while(brojac<p-1){                     
                                                          zadnji=zadnji->sljedeci;
                                                          if(!zadnji->sljedeci){
                                                                                pogresan=true;
                                                                                break;
                                                                                }
                                                          brojac++;
                                                     }
                                   if(pogresan)cout<<"Taj element ne postoji!\n";
                                   if(!pogresan){
                                       novi=zadnji;
                                       zadnji=zadnji->sljedeci;
                                       novi->sljedeci=zadnji->sljedeci;
                                       delete zadnji;
                                       }
                                   return 0;
                                   }


pzivotinja * RetrieveL(int p,tzivotinja *lista){
                                         tzivotinja *zadnji;
                                         zadnji=lista;
                                         int brojac=0;
                                         while(brojac<p){
                                                         zadnji=zadnji->sljedeci;
                                                         brojac++;
                                                         }
                                         return zadnji->element;
                                         }
tzivotinja* InitL(tzivotinja *lista){
                              tzivotinja *zadnji;
                              lista= new tzivotinja;
                              zadnji=new tzivotinja;
                              lista->sljedeci=zadnji;
                              zadnji->sljedeci=NULL;
                              return lista->sljedeci;
                              }
void DeleteAll(tzivotinja *lista){
                              tzivotinja *zadnji;
                              zadnji=lista->sljedeci;
                              while(zadnji->sljedeci){                     
                                          novi=zadnji->sljedeci;
                                          delete zadnji;
                                          zadnji=novi;
                                          }
                              delete zadnji;
                              lista->sljedeci=NULL;
                              }
int NumberL(tzivotinja *lista){
                           tzivotinja *zadnji;
                           zadnji=lista;
                           int brojac=0;
                           while(zadnji->sljedeci){
                                                   zadnji=zadnji->sljedeci;
                                                   brojac++;
                                                   }
                           return brojac;
                                                   }
pzivotinja *UnosL(int a,pzivotinja *novi){
           
                int velicina=a;
                novi->sifra=velicina; 
                            
                cout<< "-----------UNOS------------\n" ;	
                cout<<"Unesite zivotinju pod sifrom " << novi->sifra << endl;  
           
                cout << "Vrsta zivotinje : "; 
                text(novi->vrsta); 
                cout<<endl;
                   
                cout<< "Naziv zivotinje : " ;
                text(novi->naziv);
                cout<<endl;
            
                cout << "Cijena zivotinje :" << ((novi->sifra+1)*100) ;
                novi->cijena =(novi-> sifra+1)*100;
                cout<<endl;
            
                cout <<"Datum dostave zivotinje (dd.mm.gggg) :" ;
        
                do{
                cout<< " Dan unosa(1.-31.): " ;
                cin>>novi->dan ;
                cout<<endl;
                }while(novi->dan <0 || novi->dan >31);
            
                do{
                cout << " Mjesec unosa (1.-12.): " ;
                cin >> novi->mjesec ;
                cout<<endl;
                }while(novi->mjesec <0 || novi->mjesec >12);
            
                do{
                cout << " Godina unosa (2000-2020): " ;
                cin >> novi->godina;
                cout<<endl;
                }while(novi->godina <2000 || novi->godina >2020);
                   
                cout <<"VAS ZAPIS JE USPJESNO DODAN !!! " << endl;           

                }

Initial URL


Initial Description
pripadajuca biblioteka za implementaciju ATP liste preko pokazivaca

Initial Title
Lista pokazivaci

Initial Tags
podataka, c++

Initial Language
C++