Strukture podataka - Zadatak2 - biblioteka


/ Published in: C++
Save to your folder(s)



Copy this code and paste it in your HTML
  1. STOG_POLJE.cpp
  2. ------------
  3. #include<iostream>
  4. #include<cstring>
  5. using namespace std;
  6. typedef int element;
  7. struct auti{
  8. int serijski_br;
  9. char proizvodac[20];
  10. char model[30];
  11. int godina;
  12. };
  13. struct stog{
  14. auti a[100];
  15. int top;
  16. };
  17. stog s;
  18. int brojac=99;
  19. int PushS(int sb,char pr[],char md[],int g,int upis){
  20. if(s.top<0) cout << "Stog je pun!" << endl;
  21. else{
  22. s.a[brojac].serijski_br=sb;
  23. strcpy(s.a[brojac].proizvodac,pr);
  24. strcpy(s.a[brojac].model,md);
  25. s.a[brojac].godina=g;
  26. brojac--;
  27. s.top=brojac;
  28. }
  29. }
  30.  
  31. void TopS(int brzp){
  32. s.top=100-brzp;
  33. while(s.top<100){
  34. cout << s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
  35. s.top++;
  36. }
  37. }
  38.  
  39. void TopS_bez(int brzp){
  40. s.top=100-brzp;
  41. if(strcmp(s.a[s.top].proizvodac,"audi")!=0 && s.a[s.top].godina>2006){
  42. cout <<s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
  43. }
  44. }
  45.  
  46. void TopS_audi(int brzp){
  47. s.top=100-brzp;
  48. if(strcmp(s.a[s.top].proizvodac,"audi")==0){
  49. cout <<s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
  50. }
  51. }
  52.  
  53. int PopS(int brzp){
  54. s.top=99-brzp;
  55. if(s.top==99) cout << "Stog je prazan\nNema elemenata za brisanje!" << endl;
  56. else{
  57. memcpy(&s.a[s.top+1],&s.a[s.top],sizeof(auti));
  58. s.top++;
  59. cout << "Element s vrha stoga je izbrisan!" << endl;
  60. }
  61. }
  62. int InitS(int brzp){
  63. s.top=99-brzp;
  64. if(s.top==99) cout << "Stog je vec prazan!" << endl;
  65. else{
  66. for(int i=s.top;i<=99;){
  67. memcpy(&s.a[s.top+1],&s.a[s.top],sizeof(auti));
  68. s.top++;
  69. }
  70. }
  71. }
  72.  
  73. int IsEmptyS(int brzp){
  74. s.top=100-brzp;
  75. if(s.top==100) return 1;
  76. else return 0;
  77. }
  78.  
  79.  
  80. STOG_POLJE.h
  81. ------------
  82. #include "stog_polje.cpp"
  83. extern int PushS();
  84. extern void TopS();
  85. extern void TopS_audi();
  86. extern void TopS_bez();
  87. extern int PopS();
  88. extern int InitS();
  89. extern int IsEmptyS();

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.