Advertisement
jordanov

Картичка (не решена)

Jan 9th, 2018
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.83 KB | None | 0 0
  1. /*
  2. Картичка Problem 2 (0 / 0)
  3. Да се имплементира апстрактна класа Karticka со два чисто виртуелни методи:
  4. • int vkupnaCena() - се пресеметува вкупната цена на картичката со дадените возења. (10 поени)
  5. • int brojVozenja()- го враќа бројот на возења за кои важи картичката. (5 поени)
  6. Од оваа класа да се имплементираат две изведени класи KartickaAvtobus и KartickaVoz.
  7. • За една автобуска картичка се чува информации за цената на картичката (цел број), цената за едно возење (цел број) и бројот на возења(цел број). Вкупната цена се пресметува како збир од цената на картичката и производ од цената за едно возење и бројот на возења.
  8. • За една картичка за воз се чуваат информации забројот на возења (цел број) и информација за тоа дали картичката е за возење во градска област(bool променлива) (5 поени). Ако возењето е за во градска област цената за едно возење е 50 денари, а ако не е за во градска област цената е 95 денари.
  9. Да се имплементира соодветен конструктор, како и следните оператори:
  10. • оператор < за споредување на два објекти од каков било тип (KartickaAvtobus, KartickaVoz) според вкупната цена на картичките (10 поени)
  11. • оператор << за печатење на стандарден излез во формат: (5 поени)
  12. Vkupna cena: [vkupnaCena] Broj na vozenja: [brojVozenja]
  13. Да се имплементира класа AvtomatZaKarticki со следниот статичен метод:
  14. static int total(Karticka**karticki, int n) - што прима низа од покажувачи од класата Karticka и нивниот број и треба да ја врати вкупната цена платена за сите картички купени од автоматот кој се дадени во низата karticki. (15 поени)
  15. */
  16.  
  17. #include <iostream>
  18. #include <cstring>
  19. using namespace std;
  20.  
  21.  
  22. int main() {
  23.     int n;
  24.     cin >> n;
  25.     if(n == 0) {
  26.         cout << "Constructors" << endl;
  27.         KartickaAvtobus ds(150,35,2);
  28.         KarickaVoz cs(15,false);
  29.         cout << "OK" << endl;
  30.     } else if(n == 1) {
  31.         cout << "operator <<" << endl;
  32.         KartickaAvtobus ds(150,35,2);
  33.         KarickaVoz cs(10,true);
  34.         cout << ds << endl;
  35.         cout << cs << endl;
  36.     } else if(n == 2) {
  37.         cout << "<" << endl;
  38.         KartickaAvtobus ds(150,35,2);
  39.         KarickaVoz cs(20,true);
  40.         KarickaVoz css(30, false);
  41.         cout << (ds < cs) << endl;
  42.         cout << (cs < ds) << endl;
  43.         cout << (cs < css) << endl;
  44.         cout << (cs < css) << endl;
  45.     } else if(n == 3) {
  46.         cout << "Karticka total" << endl;
  47.         KartickaAvtobus ds1(150,35,2);
  48.         KartickaAvtobus ds2(100,80,5);
  49.         KartickaAvtobus ds3(150,40,1);
  50.         KarickaVoz cs1(15,false);
  51.         KarickaVoz cs2(10,true);
  52.         KarickaVoz cs3(20,true);
  53.         Karticka** s = new Karticka*[6];
  54.         s[0] = &ds1;
  55.         s[1] = &ds2;
  56.         s[2] = &ds3;
  57.         s[3] = &cs1;
  58.         s[4] = &cs2;
  59.         s[5] = &cs3;
  60.         cout<<AvtomatZaKarticki::total(s, 6);
  61.         delete [] s;
  62.     }
  63.    
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement