Posted By

tojakopec on 11/15/10


Tagged

sp foi vz


Versions (?)

Zadatak 2 - main.cpp


 / Published in: C++
 

  1. #include<iostream>
  2.  
  3. #include "stog_polje.h"
  4. //#include "stog_pokazivac.h"
  5.  
  6. using namespace std;
  7.  
  8. void unos(stack *S)
  9. {
  10. elementtype x;
  11. cout << "Sifra: ";
  12. cin >> x.sbroj;
  13. cout << "Proizvodac: ";
  14. cin.ignore();
  15. cin.getline(x.proiz,20);
  16. cout << "Model: ";
  17. cin.getline(x.model,20);
  18. bool flag = false;
  19. do
  20. {
  21. if( flag ) cout << "KRIVI UNOS\n";
  22. cout << "Godina proizvodnje): ";
  23. cin >> x.godina;
  24. flag = true;
  25. }while(x.godina < 1995 || x.godina > 2010);
  26. Push(x, S);
  27. }
  28. void iskrcavanje1(stack *st1)
  29. {
  30. elementtype temp;
  31. stack tempStog;
  32. Init(&tempStog);
  33. while(!IsEmpty(st1))
  34. {
  35.  
  36. temp = Top(st1);
  37. Pop(st1);
  38. Push(temp, &tempStog);
  39. if(temp.godina >= 2006 && stricmp(temp.proiz, "audi"))
  40. {
  41. cout << "BRISEM ELEMENT:";
  42. cout << "\nSerijski broj: " << temp.sbroj
  43. << "\nProizvodac: " << temp.proiz
  44. << "\nModel: " << temp.model
  45. << "\nGodina proizvodnje: " << temp.godina << endl;
  46. }
  47. }
  48. cout << endl;
  49.  
  50. if(!IsEmpty(&tempStog))
  51. {
  52. cout << "STANJE STOGA!" << endl;
  53. while(!IsEmpty(&tempStog))
  54. {
  55. temp = Top(&tempStog);
  56. Pop(&tempStog);
  57. if(temp.godina < 2006 || !(stricmp(temp.proiz, "audi")) )
  58. {
  59. Push(temp, st1);
  60. cout << "\nSerijski broj: " << temp.sbroj
  61. << "\nProizvodac: " << temp.proiz
  62. << "\nModel: " << temp.model
  63. << "\nGodina proizvodnje: " << temp.godina << endl;
  64. }
  65.  
  66.  
  67. }
  68. }
  69. }
  70. void iskrcavanje2(stack *S)
  71. {
  72. if(!IsEmpty(S))
  73. {
  74. elementtype temp = Top(S);
  75. Pop(S);
  76. if(!IsEmpty(S))
  77. iskrcavanje2(S);
  78. if(!(stricmp(temp.proiz, "audi")))
  79. {
  80. cout << "Serijski broj: " << temp.sbroj << endl
  81. << "Proizvodac: " << temp.proiz << endl
  82. << "Model: " << temp.model << endl
  83. << "Godina proizvodnje: " << temp.godina << endl << endl;
  84. }
  85. else
  86. Push(temp, S);
  87. return;
  88. }
  89. }
  90. int main()
  91. {
  92. stack st1;
  93. elementtype element;
  94. Init(&st1);
  95.  
  96. int brojacZapisa = 0;
  97. int brojacUpisa = 0;
  98. int izbor,izbor2;
  99. do{
  100. system("cls");
  101. cout << endl;
  102. cout << "----------IZBORNIK----------" << endl;
  103. cout << "1. Ukrcavanje automobila" << endl;
  104. cout << "2. Iskrcavanje automobila" << endl;
  105. cout << "0. Izlaz" << endl;
  106. cout << "----------------------------" << endl;
  107. cout << "Odabir: ";
  108. cin >> izbor;
  109. cout << endl;
  110. switch(izbor)
  111. {
  112. case 1:
  113. unos(&st1);
  114. brojacZapisa++;
  115. break;
  116. case 2:
  117. cout<<"Odaberi vrstu iskrcavanja: \n";
  118. cout<<"1. Proizvodnja iza 2006./ ne Audi \n";
  119. cout<<"2. Audi \n";
  120. cin >> izbor2;
  121. switch (izbor2)
  122. {
  123. case 1:
  124. iskrcavanje1(&st1);
  125. break;
  126. case 2:
  127. iskrcavanje2(&st1);
  128. break;
  129. }
  130. case 0:
  131. break;
  132. default:
  133. cout<<"KRIVI ODABIR!\n";
  134. }
  135. system("pause");
  136. }while(izbor != 0);
  137. return 0;
  138. }

Report this snippet  

You need to login to post a comment.