Posted By

fsabalic2 on 11/12/12


Tagged

insert element delete Liste lista next locate first end retrieve polje pokaziva implementacija ATP vezana dvostruko glava


Versions (?)

glavni.cpp


 / Published in: C++
 

Glavni kod u kome unosimo podatke, sortiramo ih te ispisujemo

  1. #include <iostream>
  2. #include "pokazivac.h"
  3. using namespace std;
  4.  
  5. void unos(char *niz){
  6. cin.getline(niz,40);
  7. if(cin.gcount()==1){
  8. cout << "Niste unjeli nikakvu vrijednost, molimo unesite ponovo" <<endl;
  9. cin.getline(niz,40);
  10. }
  11. }
  12.  
  13. int dodaj () {
  14. zivotinja zadnji=RetriveL(PreviousL(EndL(zoo), zoo), zoo);
  15. zivotinja privremeno;
  16. if (EndL(zoo)==FirstL(zoo)) privremeno.sifra=1;
  17. else privremeno.sifra=zadnji.sifra+1;
  18. cin.ignore();
  19. cout <<"-------------------------------------";
  20. cout << "\nUnesite Vrstu: ";
  21. unos(privremeno.vrsta);
  22. cout << "Unesite naziv zivotnje: ";
  23. unos(privremeno.naziv);
  24. do{
  25. cout << "Unesite godinu : ";
  26. cin >> privremeno.godina;
  27. if(privremeno.godina<2010) cout<<"Unjeli ste godinu manju od 2010"<<endl;
  28. }while(privremeno.godina<2010);
  29. do{
  30. cout << "Unesite mjesec :";
  31. cin >> privremeno.mjesec;
  32. if(privremeno.mjesec<1 || privremeno.mjesec>12) cout<< "Unjeli ste nepostojeci mjesec"<<endl;
  33. }while(privremeno.mjesec<1 || privremeno.mjesec>12);
  34. do{
  35. cout << "Unesite dan :";
  36. cin >> privremeno.dan;
  37. if(privremeno.dan<1 || privremeno.dan>31) cout<<"Unjeli ste nepostojeci datum"<<endl;
  38. }while(privremeno.dan<1 || privremeno.dan>31);
  39. cout << "Unesite cijenu zivotinje: ";
  40. cin >> privremeno.cijena;
  41. cout << "Sifra zivotinje u polju je: " <<privremeno.sifra<<endl;
  42. InsertL(privremeno, EndL(zoo), zoo);
  43. cout <<"-------------------------------------"<<endl;
  44. cout << "Zapis je uspjesno pohranjen" <<endl;
  45. if(zadnji.sifra=privremeno.sifra) return 0;
  46. else return 1;
  47. }
  48.  
  49.  
  50. void ispis2(){
  51. if(FirstL(zoo)==EndL(zoo))cout<<endl<<"Lista je prazna, odaberite prvo 1 za unos."<<endl;
  52. fun radi=PreviousL(EndL(zoo),zoo);
  53. while(radi>=FirstL(zoo)){
  54. zivotinja dohv=RetriveL(radi,zoo);
  55. cout<<endl<<"Sifra: "<<dohv.sifra<<endl;
  56. cout<<"Vrsta: "<<dohv.vrsta<<endl;
  57. cout<<"Naziv: "<<dohv.naziv<<endl;
  58. cout<<"Cijena: "<<dohv.cijena<<endl;
  59. cout<<"Dan upisa: "<<dohv.dan<<endl;
  60. cout<<"Mjesec upisa: "<<dohv.mjesec<<endl;
  61. cout<<"Godina upisa: "<<dohv.godina<<endl;
  62. radi=PreviousL(radi,zoo);
  63. }//while
  64. system("pause");
  65. }//ispis2
  66.  
  67.  
  68. void ispis_datum () {
  69. int trazi=0;
  70. if(FirstL(zoo)==EndL(zoo))cout<<endl<<"Lista je prazna, odaberite prvo 1 za unos."<<endl;
  71. fun zadnji=FirstL(zoo);
  72. while (zadnji!=EndL(zoo)) {
  73. zivotinja pri=RetriveL(zadnji, zoo);
  74. if (pri.godina>2011) {
  75. if (pri.godina>2012 || (pri.godina>2011 && pri.mjesec>9)){
  76. if (pri.godina>2012 || (pri.godina>2011&&pri.mjesec>9)||(pri.godina>2011&&pri.mjesec>8&&pri.dan>23)){
  77.  
  78. cout << "\n----------------\n"<<endl;
  79. cout << "Sifra: " << pri.sifra<<endl;
  80. cout << "Naziv: " << pri.naziv<<endl;
  81. cout << "Vrsta: " << pri.vrsta<<endl;
  82. cout << "Cijena: " << pri.cijena<<endl;
  83. cout<<"Dan upisa: "<<pri.dan<<endl;
  84. cout<<"Mjesec upisa: "<<pri.mjesec<<endl;
  85. cout<<"Godina upisa: "<<pri.godina<<endl;
  86. trazi++;
  87. }//dan
  88. }//mjesec
  89. }//godina
  90. zadnji=NextL(zadnji, zoo);
  91. }
  92. cout<<"----------------------"<<endl;
  93. cout<<"Dostavljeno je: "<<trazi<<" zivotinja."<<endl;
  94. system ("pause");
  95. }
  96.  
  97.  
  98. int brisanje1(bool obrisano=false){
  99. zivotinja radi;
  100. if(EndL(zoo)==FirstL(zoo))
  101. {cout<<endl<<"Lista ne sadrzi elemente, molimo unesite elemete sa funkcijom 1."<<endl;return 0;}
  102. cout<<endl<<"Vrsta za brisanje: "<<endl;
  103. cin.ignore();
  104. cin.getline(radi.vrsta,40);
  105. LocateL_brojim(0,radi,zoo);
  106. if(brrr==50)
  107. {cout<<"Ta vrsta nije unesena"<<endl;
  108. return 0;}
  109. for(int i=0;i<=brrr;i++){
  110. DeleteL((LocateL(radi,zoo)),zoo);
  111. if(i==brrr)
  112. obrisano=true;}
  113. if(obrisano==true)return 1;
  114. else if(obrisano==false)return 0;
  115. }
  116.  
  117.  
  118. int main () {
  119. int a, b;
  120. InitL(zoo);
  121. char bris;
  122. do {
  123.  
  124. cout << endl;
  125. cout << "1. Dodavanje zapisa u listu"<<endl;
  126. cout << "2. Ispis svih zivotinja poslje datuma"<<endl;
  127. cout << "3. Ispis zivotinja od zadnje prema prvoj"<<endl;
  128. cout << "4. Brisanje zivotinja prema vrsti"<<endl;
  129. cout << "Unesite vas izbor: "<<endl;
  130. do cin >> a; while (a<0 || a>6);
  131. system ("cls");
  132. switch (a) {
  133. case 1:{
  134. dodaj();
  135. system ("pause");
  136. break;
  137. }//case
  138. case 2:{
  139. ispis_datum ();
  140. break;
  141. }//case
  142. case 3: {
  143. ispis2();
  144. break;
  145. }//case
  146. case 4:{
  147. if(brisanje1()==0)
  148. cout<<endl<<"Doslo je do pogreske"<<endl;
  149. else cout<<"Zapis uspjesno obrisan!"<<endl;
  150. break;
  151. }//case
  152.  
  153. }//switch
  154. } while (a);
  155. system("pause");
  156. return 0;
  157. }

Report this snippet  

You need to login to post a comment.