Return to Snippet

Revision: 60692
at November 12, 2012 07:08 by zokisp


Initial Code
#include <iostream>
using namespace std;

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

struct tzoo
{
    pzivotinja*element;
    tzoo*sljedeci;
};

tzoo*novi;

pzivotinja* FirstL(tzoo*lista)
{
    return lista->sljedeci->element;
}

int EndL(tzoo*lista)
{
    return 0;
}

tzoo*NextL(int p, tzoo*lista)
{
    tzoo*zadnji=lista;
    int brojac=0;
    while(brojac<p&&zadnji!=NULL)
    {
        zadnji=zadnji->sljedeci;
        brojac++;
    }
    if(zadnji==NULL)return NULL;
    else
   		 return zadnji->sljedeci;
}

tzoo*PreviousL(int p, tzoo*lista)
{
    tzoo*zadnji=lista;
    int brojac=0;
    p-=2;
    while(brojac<p&&zadnji!=NULL)
    {
        zadnji=zadnji->sljedeci;
        brojac++;
    }
    if(zadnji==NULL)return NULL;
    else
    	return zadnji->sljedeci;
}

tzoo*LocateL(int n,tzoo*lista)
{
    tzoo*zadnji=lista->sljedeci;
    while(zadnji!=NULL)
    {
        if(zadnji->element->sifra==n)
        {
            cout<<"PRONADJENO!\n";
            return zadnji;
        }
        else zadnji=zadnji->sljedeci;
    }
    cout<<"NIJE PRONADJENO!\n";
    return NULL;
}

void InsertL(pzivotinja*novi, int p, tzoo*lista)
{
    tzoo*zadnji = lista;
    tzoo*novi3=new tzoo;
    novi3->element=novi;
    novi3->sljedeci=NULL;
    int brojac=0;
    while(brojac<p&&zadnji!=NULL)
    {
        zadnji=zadnji->sljedeci;
        brojac++;
    }
    if(brojac<p){
		cout<<"Ne mogu dodati na to mjesto!\n";
		return;
    }
    if(zadnji->sljedeci!=NULL)
    {
        novi3->sljedeci=zadnji->sljedeci;
        zadnji->sljedeci=novi3;
    }
    else zadnji->sljedeci=novi3;
}

int DeleteL(int p, tzoo*lista)
{
    tzoo*zadnji=lista; 
    bool pogresan=false;
    int brojac=0;
    while(brojac<p-1)
    {
        zadnji=zadnji->sljedeci; 
        if(!zadnji->sljedeci)
        {
            pogresan=true;
            break; 
        }
        brojac++; 
    }
    if(pogresan==true)cout<<"Taj element ne postoji!\n";
    if(!pogresan){
		tzoo*brisani_element=zadnji->sljedeci;
		zadnji->sljedeci=zadnji->sljedeci->sljedeci;
        delete brisani_element; 
	}
    return 0;
}

pzivotinja * RetrieveL(int p,tzoo*lista)
{
    tzoo*zadnji=lista;
    int brojac=0;
    while(brojac<p&&zadnji!=NULL)
    {
        zadnji=zadnji->sljedeci;
        brojac++;
    }
    return zadnji->element;
}

tzoo* InitL(tzoo*lista)
{
    lista= new tzoo;
    lista->sljedeci=NULL;
    return lista;
}

void DeleteAll(tzoo*lista)
{
    tzoo*zadnji=lista->sljedeci;
    while(zadnji->sljedeci)
    {
        novi=zadnji->sljedeci;
        delete zadnji;
        zadnji=novi;
    }
    delete zadnji;
    lista->sljedeci=NULL;
}

int NumberL(tzoo*lista)
{
    tzoo*zadnji=lista;
    int brojac=0;
    while(zadnji->sljedeci)
    {
        zadnji=zadnji->sljedeci;
        brojac++;
    }
    return brojac;
}

pzivotinja*UnosL(pzivotinja*novi)
{
    cout<<"Sifra= ";
    cin>>novi->sifra;
    cout<<"Vrsta= ";
    cin>>novi->vrsta;
    cout<<"Naziv= ";
    cin>>novi->naziv;
    cout<<"Cijena= ";
    cin>>novi->cijena;
    do{
	    cout<<"Dan dostave= ";
	    cin>>novi->dan;
	}
    while(novi->dan<1||novi->dan>31);
    do{
	    cout<<"Mjesec dostave= ";
	    cin>>novi->mjesec;
	}
	while(novi->mjesec<1||novi->mjesec>12);
    cout<<"Godina dostave= ";
    cin>>novi->godina;
}

pzivotinja*IspisL(pzivotinja*novi){
	cout<<"=====================\n";
	cout<<"Zivotinja\n";
	cout<<"---------------------\n";
	cout<<"Sifra= "<<novi->sifra<<endl;
	cout<<"Vrsta= "<<novi->vrsta<<endl;
	cout<<"Naziv= "<<novi->naziv<<endl;
	cout<<"Datum= "<<novi->dan<<"."<<novi->mjesec<<"."<<novi->godina<<endl;
	cout<<"Cijena= "<<novi->cijena<<endl;
}

Initial URL


Initial Description
biblioteka lista pokazivac potreba za zad1 iz sp

Initial Title
zad1 sp lista pok

Initial Tags


Initial Language
C++