Evidencija zivotinja - pokazivaci.h


/ Published in: C++
Save to your folder(s)

Ovo je datoteka zaglavlja pokazivaci.h u kojoj se nalaze funkcije koje su pozivane u main funkciji programa evidencije zivotinja.


Copy this code and paste it in your HTML
  1. //implementacija pomocu pokazivaca
  2. #include <iostream>
  3. #include <windows.h>
  4. using namespace std;
  5.  
  6. void uvod() {
  7. cout<<"Dobrodosli u program. "<<endl;
  8. cout<<"Koristim biblioteku pokazivaci.h "<<endl;
  9. cout<<endl<<endl;
  10. }
  11.  
  12. struct jedna_zivotinja
  13. {
  14. int sifra;
  15. int dan;
  16. int mjesec;
  17. int godina;
  18. char naziv[40];
  19. char vrsta[40];
  20. float cijena;
  21. };
  22.  
  23. struct sve_zivotinje
  24. {
  25. jedna_zivotinja*element;
  26. sve_zivotinje*sljedeci;
  27. };
  28.  
  29. sve_zivotinje*novi;
  30.  
  31. jedna_zivotinja* FirstL( sve_zivotinje*lista )
  32. {
  33. return lista->sljedeci->element;
  34. }
  35.  
  36. int EndL( sve_zivotinje*lista )
  37. {
  38. return 0;
  39. }
  40.  
  41. sve_zivotinje*NextL( int p, sve_zivotinje*lista )
  42. {
  43. sve_zivotinje*zadnji=lista;
  44. int brojac=0;
  45. while( brojac<p&&zadnji!=NULL )
  46. {
  47. zadnji=zadnji->sljedeci;
  48. brojac++;
  49. }
  50. if( zadnji==NULL )return NULL;
  51. else
  52. return zadnji->sljedeci;
  53. }
  54.  
  55. sve_zivotinje*PreviousL( int p, sve_zivotinje*lista )
  56. {
  57. sve_zivotinje*zadnji=lista;
  58. int brojac=0;
  59. p-=2;
  60. while( brojac<p&&zadnji!=NULL )
  61. {
  62. zadnji=zadnji->sljedeci;
  63. brojac++;
  64. }
  65. if( zadnji==NULL )return NULL;
  66. else
  67. return zadnji->sljedeci;
  68. }
  69.  
  70. sve_zivotinje*LocateL( int n,sve_zivotinje*lista )
  71. {
  72. sve_zivotinje*zadnji=lista->sljedeci;
  73. while( zadnji!=NULL )
  74. {
  75. if( zadnji->element->sifra==n )
  76. {
  77. return zadnji;
  78. }
  79. else zadnji=zadnji->sljedeci;
  80. }
  81. return NULL;
  82. }
  83.  
  84. void InsertL( jedna_zivotinja*novi, int p, sve_zivotinje*lista )
  85. {
  86. sve_zivotinje*zadnji = lista;
  87. sve_zivotinje*novi3=new sve_zivotinje;
  88. novi3->element=novi;
  89. novi3->sljedeci=NULL;
  90. int brojac=0;
  91. while( brojac<p&&zadnji!=NULL )
  92. {
  93. zadnji=zadnji->sljedeci;
  94. brojac++;
  95. }
  96. if( brojac<p ) {
  97. cout<<"Ne mogu dodati na to mjesto!\n";
  98. return;
  99. }
  100. if( zadnji->sljedeci!=NULL )
  101. {
  102. novi3->sljedeci=zadnji->sljedeci;
  103. zadnji->sljedeci=novi3;
  104. }
  105. else zadnji->sljedeci=novi3;
  106. }
  107.  
  108. int DeleteL( int p, sve_zivotinje*lista )
  109. {
  110. sve_zivotinje*zadnji=lista;
  111. bool pogresan=false;
  112. int brojac=0;
  113. while( brojac<p-1 )
  114. {
  115. zadnji=zadnji->sljedeci;
  116. if( !zadnji->sljedeci )
  117. {
  118. pogresan=true;
  119. break;
  120. }
  121. brojac++;
  122. }
  123. if( pogresan==true )cout<<"Taj element ne postoji!\n";
  124. if( !pogresan ) {
  125. sve_zivotinje*brisani_element=zadnji->sljedeci;
  126. zadnji->sljedeci=zadnji->sljedeci->sljedeci;
  127. delete brisani_element;
  128. }
  129. return 0;
  130. }
  131.  
  132. jedna_zivotinja * RetrieveL( int p,sve_zivotinje*lista )
  133. {
  134. sve_zivotinje*zadnji=lista;
  135. int brojac=0;
  136. while( brojac<p&&zadnji!=NULL )
  137. {
  138. zadnji=zadnji->sljedeci;
  139. brojac++;
  140. }
  141. return zadnji->element;
  142. }
  143.  
  144. void DeleteAll( sve_zivotinje*lista )
  145. {
  146. if(lista->sljedeci==NULL)return;
  147. sve_zivotinje*zadnji=lista->sljedeci;
  148. while( zadnji->sljedeci )
  149. {
  150. novi=zadnji->sljedeci;
  151. delete zadnji;
  152. zadnji=novi;
  153. }
  154. delete zadnji;
  155. lista->sljedeci=NULL;
  156. }
  157.  
  158. jedna_zivotinja*UnosL( jedna_zivotinja*novi )
  159. {
  160. cout<<"Sifra= ";
  161. cin>>novi->sifra;
  162. cout<<"Vrsta= ";
  163. cin>>novi->vrsta;
  164. cout<<"Naziv= ";
  165. cin>>novi->naziv;
  166. cout<<"Cijena= ";
  167. cin>>novi->cijena;
  168. do {
  169. cout<<"Dan dostave= ";
  170. cin>>novi->dan;
  171.  
  172. }
  173. while( novi->dan<1||novi->dan>31 );
  174. do {
  175. cout<<"Mjesec dostave= ";
  176. cin>>novi->mjesec;
  177. }
  178. while( novi->mjesec<1||novi->mjesec>12 );
  179. cout<<"Godina dostave= ";
  180. cin>>novi->godina;
  181. }
  182.  
  183. int NumberL( sve_zivotinje*lista )
  184. {
  185. sve_zivotinje*zadnji=lista;
  186. int brojac=0;
  187. while( zadnji->sljedeci )
  188. {
  189. zadnji=zadnji->sljedeci;
  190. brojac++;
  191. }
  192. return brojac;
  193. }
  194.  
  195. sve_zivotinje* InitL( sve_zivotinje*lista )
  196. {
  197. lista= new sve_zivotinje;
  198. lista->sljedeci=NULL;
  199. return lista;
  200. }
  201.  
  202. jedna_zivotinja*IspisL( jedna_zivotinja*novi ) {
  203. cout<<"Sifra= "<<novi->sifra<<endl;
  204. cout<<"Vrsta= "<<novi->vrsta<<endl;
  205. cout<<"Naziv= "<<novi->naziv<<endl;
  206. cout<<"Datum= "<<novi->dan<<"."<<novi->mjesec<<"."<<novi->godina<<endl;
  207. cout<<"Cijena= "<<novi->cijena<<endl;
  208. cout<<endl<<endl<<endl;
  209. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.