Revision: 60625
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 03:35 by nsamonik
Initial Code
//implementacija pomocu pokazivaca
#include <iostream>
#include <windows.h>
using namespace std;
void uvod() {
cout<<"Dobrodosli u program. "<<endl;
cout<<"Koristim biblioteku pokazivaci.h "<<endl;
cout<<endl<<endl;
}
struct jedna_zivotinja
{
int sifra;
int dan;
int mjesec;
int godina;
char naziv[40];
char vrsta[40];
float cijena;
};
struct sve_zivotinje
{
jedna_zivotinja*element;
sve_zivotinje*sljedeci;
};
sve_zivotinje*novi;
jedna_zivotinja* FirstL( sve_zivotinje*lista )
{
return lista->sljedeci->element;
}
int EndL( sve_zivotinje*lista )
{
return 0;
}
sve_zivotinje*NextL( int p, sve_zivotinje*lista )
{
sve_zivotinje*zadnji=lista;
int brojac=0;
while( brojac<p&&zadnji!=NULL )
{
zadnji=zadnji->sljedeci;
brojac++;
}
if( zadnji==NULL )return NULL;
else
return zadnji->sljedeci;
}
sve_zivotinje*PreviousL( int p, sve_zivotinje*lista )
{
sve_zivotinje*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;
}
sve_zivotinje*LocateL( int n,sve_zivotinje*lista )
{
sve_zivotinje*zadnji=lista->sljedeci;
while( zadnji!=NULL )
{
if( zadnji->element->sifra==n )
{
return zadnji;
}
else zadnji=zadnji->sljedeci;
}
return NULL;
}
void InsertL( jedna_zivotinja*novi, int p, sve_zivotinje*lista )
{
sve_zivotinje*zadnji = lista;
sve_zivotinje*novi3=new sve_zivotinje;
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, sve_zivotinje*lista )
{
sve_zivotinje*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 ) {
sve_zivotinje*brisani_element=zadnji->sljedeci;
zadnji->sljedeci=zadnji->sljedeci->sljedeci;
delete brisani_element;
}
return 0;
}
jedna_zivotinja * RetrieveL( int p,sve_zivotinje*lista )
{
sve_zivotinje*zadnji=lista;
int brojac=0;
while( brojac<p&&zadnji!=NULL )
{
zadnji=zadnji->sljedeci;
brojac++;
}
return zadnji->element;
}
void DeleteAll( sve_zivotinje*lista )
{
if(lista->sljedeci==NULL)return;
sve_zivotinje*zadnji=lista->sljedeci;
while( zadnji->sljedeci )
{
novi=zadnji->sljedeci;
delete zadnji;
zadnji=novi;
}
delete zadnji;
lista->sljedeci=NULL;
}
jedna_zivotinja*UnosL( jedna_zivotinja*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;
}
int NumberL( sve_zivotinje*lista )
{
sve_zivotinje*zadnji=lista;
int brojac=0;
while( zadnji->sljedeci )
{
zadnji=zadnji->sljedeci;
brojac++;
}
return brojac;
}
sve_zivotinje* InitL( sve_zivotinje*lista )
{
lista= new sve_zivotinje;
lista->sljedeci=NULL;
return lista;
}
jedna_zivotinja*IspisL( jedna_zivotinja*novi ) {
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;
cout<<endl<<endl<<endl;
}
Initial URL
Initial Description
Ovo je datoteka zaglavlja pokazivaci.h u kojoj se nalaze funkcije koje su pozivane u main funkciji programa evidencije zivotinja.
Initial Title
Evidencija zivotinja - pokazivaci.h
Initial Tags
Initial Language
C++