Return to Snippet

Revision: 60625
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++