Revision: 60646
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
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++