Advertisement
chasnasestra

Пицерија

Mar 20th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. //Vasiot kod tuka
  7.  
  8. class Pica {
  9. private:
  10. char ime[15];
  11. int cena;
  12. char *sostojki;
  13. int namaluvanje;
  14.  
  15. public:
  16. Pica(const char *ime="", int cena=0, const char *sostojki="", int namaluvanje=0){
  17. strcpy(this->ime, ime);
  18. this->cena = cena;
  19. this->sostojki = new char[strlen(sostojki)+1];
  20. strcpy(this->sostojki, sostojki);
  21. this->namaluvanje = namaluvanje;
  22. }
  23.  
  24. ~Pica(){ }
  25.  
  26. void pecati(){
  27. cout << this->ime << " - " << this->sostojki << " " << this->cena << "." << endl;
  28. }
  29.  
  30. bool istiSe(Pica p){
  31. return strcmp(this->sostojki, p.sostojki)!=0;
  32. }
  33.  
  34. char *getIme(){
  35. return this->ime;
  36. }
  37.  
  38. int getCena(){
  39. return this->cena;
  40. }
  41.  
  42. char *getSostojki(){
  43. return this->sostojki;
  44. }
  45.  
  46. char getPopust(){
  47. return this->namaluvanje;
  48. }
  49.  
  50. };
  51.  
  52. class Picerija {
  53. private:
  54. char ime[15];
  55. Pica *pici;
  56. int brPici;
  57.  
  58. public:
  59. Picerija(const char *ime=""){
  60. strcpy(this->ime, ime);
  61. brPici = 0;
  62. }
  63.  
  64. Picerija &operator=(const Picerija &rhs){
  65. strcpy(this->ime, rhs.ime);
  66. this->brPici = rhs.brPici;
  67. this->pici = rhs.pici;
  68. return *this;
  69. }
  70.  
  71. void dodadi(Pica rhs){
  72. Pica *temp = new Pica[brPici+1];
  73. for(int i=0; i<brPici; i++)
  74. if(pici[i].istiSe(rhs))
  75. temp[i] = pici[i];
  76. temp[brPici]=rhs;
  77. pici = temp;
  78. brPici++;
  79. }
  80.  
  81. void piciNaPromocija(){
  82. for(int i=0; i<brPici; i++)
  83. if(this->pici[i].getPopust()>0)
  84. cout << pici[i].getIme() << " - " << pici[i].getSostojki() << ", " << pici[i].getCena() << " " <<
  85. (float)pici[i].getCena()-(pici[i].getCena()*(pici[i].getPopust()*0.01)) << endl;
  86. }
  87.  
  88.  
  89. char *setIme(const char *ime){
  90. return strcpy(this->ime, ime);
  91. }
  92.  
  93. char *getIme(){
  94. return this->ime;
  95. }
  96. };
  97.  
  98. int main () {
  99.  
  100. int n;
  101. char ime[15];
  102. cin >> ime;
  103. cin >> n;
  104.  
  105. Picerija p1(ime);
  106. for(int i = 0; i < n; i++){
  107. char imp[100];
  108. cin.get();
  109. cin.getline(imp,100);
  110. int cena;
  111. cin >> cena;
  112. char sostojki[100];
  113. cin.get();
  114. cin.getline(sostojki,100);
  115. int popust;
  116. cin >> popust;
  117. Pica p(imp,cena,sostojki,popust);
  118. p1.dodadi(p);
  119. }
  120.  
  121. Picerija p2 = p1;
  122. cin >> ime;
  123. p2.setIme(ime);
  124. char imp[100];
  125. cin.get();
  126. cin.getline(imp,100);
  127. int cena;
  128. cin >> cena;
  129. char sostojki[100];
  130. cin.get();
  131. cin.getline(sostojki,100);
  132. int popust;
  133. cin >> popust;
  134. Pica p(imp,cena,sostojki,popust);
  135. p2.dodadi(p);
  136.  
  137. cout<<p1.getIme()<<endl;
  138. cout<<"Pici na promocija:"<<endl;
  139. p1.piciNaPromocija();
  140.  
  141. cout<<p2.getIme()<<endl;
  142. cout<<"Pici na promocija:"<<endl;
  143. p2.piciNaPromocija();
  144.  
  145. return 0;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement