Posted By

DanijelTot on 11/15/10


Tagged

Strukture podataka automobili


Versions (?)

Glavni program automobili


 / Published in: C++
 

  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5. struct slot{
  6. char proiz[25], model[25];
  7. int sifra,godina;
  8. };
  9. //#include "stog_polje.h"
  10. #include "stog_pokazivac.h"
  11.  
  12. void unos(tstack *stog);
  13. void ispis();
  14. void iskrcavanje1(tstack *stog);
  15. void iskrcavanje2(tstack *stog, int opcija);
  16.  
  17. int main(){
  18. int iz;
  19. tstack *stog = new tstack;
  20. InitS(stog);
  21. do{
  22. system("cls");
  23. cout <<"Izbornik" <<endl;
  24. cout <<"1. Unesi automobile" <<endl;
  25. cout <<"2. Iskrcavanje automobila (proizvedeni poslije 2006. i nisu marke audi)" <<endl;
  26. cout <<"3. Iskrcavanje audija" <<endl;
  27. cout <<"9. Izlaz"<<endl;
  28. cout <<"\nIzbor : ";
  29. cin >> iz ;
  30. switch (iz){
  31. case 1:
  32. unos(stog);
  33. break;
  34. case 2:
  35. cout <<"Iskrcavanje" <<endl;
  36. iskrcavanje1(stog);
  37. break;
  38. case 3:
  39. cout <<"Iskrcavanje audija" <<endl;
  40. iskrcavanje2(stog,0);
  41. cout <<"\nStanje kamiona : \n";
  42. iskrcavanje2(stog,1);
  43. break;
  44. case 9: return 0;
  45. default:
  46. cout <<"\nPogresan Unos!!\n";
  47. }
  48. system("pause");
  49. }while(iz!=9);
  50. return 0;
  51. }
  52.  
  53. void unos(tstack *stog){
  54. char jos;
  55. slot automob;
  56. do{
  57. cout <<"\nSerijski broj : ";
  58. cin >> automob.sifra;
  59. cout <<"Marka : ";
  60. cin.ignore();
  61. cin.getline(automob.proiz,25);
  62. cout <<"Model : ";
  63. cin.getline(automob.model,25);
  64. do{
  65. cout << "Godina proizvodnje: ";
  66. cin >> automob.godina;
  67. }while(automob.godina<1995 || automob.godina>2010);
  68. PushS(automob,stog);
  69. cout <<"\nUkrcati jos (d/n) : ";
  70. cin >> jos;
  71. }while(jos=='d' || jos=='D');
  72. }
  73. void ispis(slot p){
  74. cout <<"\nSifra : "<<p.sifra<<endl;
  75. cout <<"Marka : "<<p.proiz<<endl;
  76. cout <<"Model : "<<p.model<<endl;
  77. cout <<"Godina proizvodnje : "<<p.godina<<endl;
  78. }
  79. void iskrcavanje1(tstack *stog){
  80. tstack *stog_p=new tstack;
  81. InitS(stog_p);
  82. cout <<"\nIskrcavanje iz kamiona : \n";
  83. while (IsEmptyS(stog)==1){
  84. if (TopS(stog).godina > 2006 && strcmp(TopS(stog).proiz,"audi")!=0)
  85. ispis(TopS(stog));
  86. else PushS(TopS(stog),stog_p);
  87. PopS(stog);
  88. }
  89. cout <<"\n\nVracanje u kamion : \n";
  90. while (IsEmptyS(stog_p)){
  91. PushS(TopS(stog_p),stog);
  92. ispis(TopS(stog));
  93. PopS(stog_p);
  94. }
  95. }
  96.  
  97. void iskrcavanje2(tstack *stog, int opcija){
  98. slot pom;
  99. if (IsEmptyS(stog)){
  100. pom=TopS(stog);
  101. PopS(stog);
  102. iskrcavanje2(stog,opcija);
  103. }
  104. else return;
  105. if (strcmp(pom.proiz,"audi")==0)
  106. ispis(pom);
  107. else{
  108. PushS(pom,stog);
  109. if (opcija) ispis(TopS(stog));
  110. }
  111. }

Report this snippet  

You need to login to post a comment.