Posted By

tina098 on 11/13/10


Tagged

stog


Versions (?)

Zadatak2: ukrcaj, transport i iskrcaj automobila


 / Published in: C++
 

  1. #include <iostream>
  2. //#include "stog_polje.h"
  3. #include "stog_pokazivac.h"
  4. using namespace std;
  5.  
  6. void unos_automobila(){
  7. char jos = 'd';
  8. int brojac = 0;
  9. tAuto x;
  10. while ((jos=='d' || jos=='D') && (brojac!=50)) {
  11. cout << "-----------------------" << endl;
  12. cout << "Proizvodac: "; cin.getline(x.proizvodac,15);
  13. cout << "Model: "; cin.getline(x.model,15);
  14. cout << "Serijski broj: "; cin >> x.serijski_broj;
  15. cout << "Godina proizvodnje (1995-2010): "; cin >> x.god_proizvodnje;
  16. PushS(x,S);
  17. brojac++;
  18. cout << "Zelite li jos unositi? (d/n)"; cin >> jos;
  19. cin.ignore();
  20. }
  21. }
  22.  
  23. void ispis1(stog *S) {
  24. stog *pomocni;
  25. pomocni = InitS(pomocni);
  26. tAuto a;
  27. cout << "\nPROIZVEDENI POSLIJE 2006. I NISU MARKE AUDI" << endl;
  28. while (!IsEmptyS(S)){ //ispisuje mlade od 2006. i koji nisu Audi
  29. a = TopS(S);
  30. if (a.god_proizvodnje > 2006 && (strcmp(a.proizvodac,"audi"))) {
  31. cout << "------------------" << endl;
  32. cout << "Proizvodac: " << a.proizvodac << endl;
  33. cout << "Model: " << a.model << endl;
  34. cout << "Serijski broj: " << a.serijski_broj << endl;
  35. cout << "Godina proizvodnje: " << a.god_proizvodnje << endl;
  36. }
  37. PushS(a,pomocni);
  38. PopS(S);
  39. }
  40. while (!IsEmptyS(pomocni)) { //vraca zapise iz pomocnog stoga u pocetni
  41. a = TopS(pomocni);
  42. PushS(a,S);
  43. PopS(pomocni);
  44. }
  45. cout << "\nISPIS STANJA NA STOGU" << endl;
  46. while (!IsEmptyS(S)){ //ispis stanja na stogu
  47. a = TopS(S);
  48. cout << "----------------------------------" << endl;
  49. cout << a.proizvodac << "\t" << a.model << "\t" << a.serijski_broj << "\t" << a.god_proizvodnje << endl;
  50. PushS(a,pomocni);
  51. PopS(S);
  52. }
  53. while (!IsEmptyS(pomocni)) { //vraca zapise iz pomocnog stoga u pocetni
  54. a = TopS(pomocni);
  55. PushS(a,S);
  56. PopS(pomocni);
  57. }
  58. }
  59.  
  60. void umetni_element(stog *S, tAuto a) {
  61. tAuto temp;
  62. if(IsEmptyS(S))
  63. PushS(a,S);
  64. else {
  65. temp = TopS(S);
  66. PopS(S);
  67. umetni_element(S,a);
  68. PushS(temp,S);
  69. }
  70. }
  71.  
  72. void ispis2(stog *S) {
  73. tAuto a;
  74. if (!IsEmptyS(S)){ //ispisuje sve Audije
  75. a = TopS(S);
  76. PopS(S);
  77. if (!strcmp(a.proizvodac,"audi")) {
  78. cout << "------------------" << endl;
  79. cout << "Proizvodac: " << a.proizvodac << endl;
  80. cout << "Model: " << a.model << endl;
  81. cout << "Serijski broj: " << a.serijski_broj << endl;
  82. cout << "Godina proizvodnje: " << a.god_proizvodnje << endl;
  83. ispis2(S);
  84. umetni_element(S,a);
  85. }
  86.  
  87. else {
  88. ispis2(S);
  89. umetni_element(S,a);
  90. }
  91. }
  92. }
  93.  
  94. void okreni_stog(stog *S) {
  95. tAuto a;
  96. if (!IsEmptyS(S)){
  97. a = TopS(S);
  98. PopS(S);
  99. okreni_stog(S);
  100. umetni_element(S,a);
  101. }
  102. }
  103.  
  104. int main () {
  105. tAuto a;
  106. S = InitS(S);
  107. cout << "----Unesite elemente----" << endl;
  108. unos_automobila();
  109. system("cls");
  110. cout << "\n----Iskrcaj automobila u prvoj auto kuci----" << endl;
  111. ispis1(S);
  112. system("pause");
  113. system("cls");
  114. cout << "\n----Iskrcaj automobila u drugoj auto kuci----" << endl;
  115. cout << "\nSVI KOJI SU MARKE AUDI" << endl;
  116. ispis2(S);
  117. okreni_stog(S);
  118. cout << "\nISPIS STANJA NA STOGU" << endl;
  119. while (!IsEmptyS(S)){ //ispis stanja na stogu
  120. a = TopS(S);
  121. cout << "----------------------------------" << endl;
  122. cout << a.proizvodac << "\t" << a.model << "\t" << a.serijski_broj << "\t" << a.god_proizvodnje << endl;
  123. PopS(S);
  124. }
  125. cout << "\nKraj.\n" << endl;
  126. system("pause");
  127. return 0;}

Report this snippet  

You need to login to post a comment.