Posted By

KHAAAANNN on 11/14/10


Tagged

main stog


Versions (?)

Main_program


 / Published in: C++
 

  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string.h>
  4. //#include "stog_pokazivac.h"
  5. #include "stog_polje.h"
  6. using namespace std;
  7. pstog stog;
  8. void upis(){
  9. automobil au;
  10. cout << "Marka (proizvodjac): ";
  11. cin >> au.marka;
  12. cout << "Model: ";
  13. cin >> au.model;
  14. cout << "Serijski broj: ";
  15. cin >> au.serijskibroj;
  16. do{
  17. cout << "Godina proizvodnje: ";
  18. cin >> au.godina;
  19. }while(au.godina<1995 || au.godina >2010);
  20. PushS(au, stog);
  21. cout << endl;
  22. }//upis
  23.  
  24. void iskrcaj(char iskljuci[], int god){
  25. if (IsEmptyS(stog)){
  26. cout << "Stog je prazan." <<endl;
  27. return;}
  28. cout << "----------------\nIskrcaj svih automobila koji nisu " << iskljuci << " i proizvedeni poslije " << god << ".g :\n----------------\n";
  29. pstog pomocni;
  30. pomocni=(pstog)malloc(sizeof(struct tstog));
  31. InitS(pomocni);
  32. automobil au;
  33. while (!IsEmptyS(stog)){
  34. au = TopS(stog);
  35. PopS(stog);
  36. if ((strcmp(au.marka, iskljuci) != 0) && (au.godina > god)){
  37. cout << "Marka: " << au.marka << endl;
  38. cout << "Model: " << au.model << endl;
  39. cout << "Serijski broj: " << au.serijskibroj << endl;
  40. cout << "God. proizvodnje: " << au.godina << endl << endl;
  41. }//if
  42. else
  43. PushS(au, pomocni);
  44. }//while
  45. while (!IsEmptyS(pomocni)){
  46. au = TopS(pomocni);
  47. PushS(au, stog);
  48. PopS(pomocni);
  49. }//while
  50. }//iskrcaj1
  51.  
  52. void sljedeci(char marka[]){
  53. if (!IsEmptyS(stog)){
  54. automobil au = TopS(stog);
  55. PopS(stog);
  56. int usporedba = strcmp(au.marka, marka);
  57. if (usporedba == 0){
  58. cout << "Marka: " << au.marka << endl;
  59. cout << "Model: " << au.model << endl;
  60. cout << "Serijski broj: " << au.serijskibroj << endl;
  61. cout << "God. proizvodnje: " << au.godina << endl;
  62. cout << "----------------"<<endl;
  63. }//if
  64. sljedeci(marka);
  65. if (usporedba != 0) PushS(au, stog);
  66. }//if
  67. }//sljedeci
  68.  
  69. void iskrcaj_audi(char marka[]){
  70. if (IsEmptyS(stog)){
  71. cout << "Stog je prazan."<< endl;
  72. return;}
  73. cout << "----------------\nIskrcaj svih automobila marke " << marka << ":\n----------------\n";
  74. sljedeci(marka);
  75. }
  76.  
  77. void ispis(){
  78. cout << "-------------\nIspis svih automobila na stogu\n-------------\n";
  79. pstog pomocni;
  80. pomocni=(pstog)malloc(sizeof(struct tstog));
  81. InitS(pomocni);
  82. automobil au;
  83. if (IsEmptyS(stog)){
  84. cout << "Stog je prazan." << endl << endl;
  85. }
  86. else {
  87. while (!IsEmptyS(stog)){
  88. au = TopS(stog);
  89. PushS(au, pomocni);
  90. PopS(stog);
  91. }//while
  92.  
  93. while (!IsEmptyS(pomocni)){
  94. au = TopS(pomocni);
  95. cout << "Marka: " << au.marka << endl;
  96. cout << "Model: " << au.model << endl;
  97. cout << "Serijski broj: " << au.serijskibroj << endl;
  98. cout << "God. proizvodnje: " << au.godina << endl << endl;
  99. PushS(au, stog);
  100. PopS(pomocni);
  101. }//while
  102. }//else
  103. }//ispis
  104.  
  105. int main(){
  106. int izbor = 9;
  107. stog = (pstog)malloc(sizeof(struct tstog));
  108. InitS(stog);
  109. do{ cout << "-----------\nIZBORNIK\n-----------\n";
  110. cout << "1. - Upis automobila" << endl;
  111. cout << "2. - Iskrcavanje auta u prvoj autokuci (Nisu Audi i proizvedeni nakon 2006.)" << endl;
  112. cout << "3. - Iskrcavanje auta u drugoj autokuci (svi koji su Audi)" << endl;
  113. cout << "4. - Ispis svih automobila na stogu" << endl;
  114. cout << "9. - Izlaz" << endl;
  115. cout << "Vas izbor je: ";
  116. cin >> izbor;
  117. switch (izbor){
  118. case 1:
  119. upis();
  120. break;
  121. case 2:
  122. iskrcaj((char *)"Audi", 2006);
  123. break;
  124. case 3:
  125. iskrcaj_audi((char *)"Audi");
  126. break;
  127. case 4:
  128. ispis();
  129. break;
  130. }//switch
  131. } while (izbor != 9);
  132. return 0;
  133. }//main

Report this snippet  

You need to login to post a comment.