Posted By

ivan_k on 11/15/10


Tagged


Versions (?)

Main.cpp


 / Published in: C++
 

  1. #include <iostream>
  2. #include "stog_polje.h"
  3. using namespace std;
  4.  
  5. void unos(){
  6. char jos = 'd';
  7. int br = 0;
  8. tauto novi;
  9.  
  10. while((jos == 'd' || jos == 'D') && (br!=100)) {
  11. cout << " ---------------" << endl;
  12. cout << " Proizvodjac: ";
  13. cin.getline(novi.proizvodjac,20);
  14.  
  15. cout << " Model: ";
  16. cin.getline(novi.model,20);
  17.  
  18. cout << " Serijski broj: ";
  19. cin >> novi.serijski_broj;
  20.  
  21. cout << " Godina proizvodnje (1995-2010): ";
  22. cin >> novi.godina_proizvodnje;
  23.  
  24. PushS(novi,stog);
  25. br++;
  26.  
  27. cout << "\n Zelite li jos unositi? (d/n)";
  28. cin >> jos;
  29. cin.ignore();
  30. }
  31. }
  32.  
  33. void ispis_prvi(tstog *stog) { //ispis: >=2006 && !Audi
  34. tstog *pom;
  35. pom = InitS(pom);
  36. tauto prva_autokuca;
  37. cout << "\n Ispis auta po sljedecim kriterijima: \n\t1.) godina proizvodnje >2006. \n\t2.) nije marke Audi" << endl;
  38. while (!IsEmptyS(stog)){
  39. prva_autokuca = TopS(stog);
  40. if (prva_autokuca.godina_proizvodnje >= 2006 && (strcmp(prva_autokuca.proizvodjac,"audi")) && (strcmp(prva_autokuca.proizvodjac,"Audi")) && (strcmp(prva_autokuca.proizvodjac,"AUDI"))) {
  41. cout << " ---------------" << endl;
  42. cout << " Proizvodjac: " << prva_autokuca.proizvodjac << endl;
  43. cout << " Model: " << prva_autokuca.model << endl;
  44. cout << " Serijski broj: " << prva_autokuca.serijski_broj << endl;
  45. cout << " Godina proizvodnje: " << prva_autokuca.godina_proizvodnje << endl;
  46. }
  47.  
  48. PushS(prva_autokuca,pom);
  49. PopS(stog);
  50. }
  51.  
  52. while (!IsEmptyS(pom)) {
  53. prva_autokuca = TopS(pom);
  54. PushS(prva_autokuca,stog);
  55. PopS(pom);
  56. }
  57. cout << "\n Prjasnje stanje stoga." << endl;
  58. while (!IsEmptyS(stog)){
  59. prva_autokuca = TopS(stog);
  60. cout << "---------------" << endl;
  61. cout << prva_autokuca.proizvodjac << "\t\t" << prva_autokuca.model << "\t\t" << prva_autokuca.serijski_broj << "\t\t" << prva_autokuca.godina_proizvodnje << endl;
  62. PushS(prva_autokuca,pom);
  63. PopS(stog);
  64. }
  65.  
  66. while (!IsEmptyS(pom)) {
  67. prva_autokuca = TopS(pom);
  68. PushS(prva_autokuca,stog);
  69. PopS(pom);
  70. }
  71. }
  72.  
  73. void umetni_element(tstog *stog, tauto x) {
  74. tauto t;
  75. if(IsEmptyS(stog))
  76. PushS(x,stog);
  77. else {
  78. t = TopS(stog);
  79. PopS(stog);
  80. umetni_element(stog,x);
  81. PushS(t,stog);
  82. }
  83. }
  84.  
  85. void ispis_drugi(tstog *stog) {
  86. tauto druga_autokuca;
  87. if (!IsEmptyS(stog)){
  88. druga_autokuca = TopS(stog);
  89. PopS(stog);
  90. if (!strcmp(druga_autokuca.proizvodjac,"audi") || !strcmp(druga_autokuca.proizvodjac,"Audi") || !strcmp(druga_autokuca.proizvodjac,"AUDI")) {
  91. cout << " ---------------" << endl;
  92. cout << " Proizvodjac: " << druga_autokuca.proizvodjac << endl;
  93. cout << " Model: " << druga_autokuca.model << endl;
  94. cout << " Serijski broj: " << druga_autokuca.serijski_broj << endl;
  95. cout << " Godina proizvodnje: " << druga_autokuca.godina_proizvodnje << endl;
  96. ispis_drugi(stog);
  97. umetni_element(stog,druga_autokuca);
  98. }
  99. else {
  100. ispis_drugi(stog);
  101. umetni_element(stog,druga_autokuca);
  102. }
  103. }
  104. }
  105.  
  106. void okreni(tstog *stog) {
  107. tauto a;
  108. if (!IsEmptyS(stog)){
  109. a = TopS(stog);
  110. PopS(stog);
  111. okreni(stog);
  112. umetni_element(stog,a);
  113. }
  114. }
  115.  
  116. int main () {
  117. tauto x;
  118. stog = InitS(stog);
  119.  
  120. cout << " Unesite podatke o autima!" << endl;
  121. unos();
  122.  
  123. cout << "\n\n Ispis auta - >=2006. && !Audi" << endl;
  124. ispis_prvi(stog);
  125.  
  126. cout << "\n\n Ispis auta - marke Audi" << endl;
  127. ispis_drugi(stog);
  128.  
  129. okreni(stog);
  130.  
  131. cout << "\n\n Ispis stoga!!!" << endl;
  132. while (!IsEmptyS(stog)){
  133. x = TopS(stog);
  134. cout << "----------------------------------" << endl;
  135. cout << x.proizvodjac << "\t\t" << x.model << "\t\t" << x.serijski_broj << "\t\t" << x.godina_proizvodnje << endl;
  136. PopS(stog);
  137. }
  138. cout << "\n\n Zavrsetak programa!!!" << endl;
  139. system("pause");
  140. return 0;
  141. }

Report this snippet  

You need to login to post a comment.