Advertisement
P1ayer4312

zadachi cpp

Apr 25th, 2019
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.95 KB | None | 0 0
  1. #include <cstring>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. class Kvadrat {
  6. protected:
  7.     double a;
  8.  
  9. public:
  10.     Kvadrat() {
  11.     }
  12.     Kvadrat(double s) {
  13.         a = s;
  14.     }
  15.     Kvadrat(const Kvadrat &k) {
  16.         a = k.a;
  17.     }
  18.     double perimetar() {
  19.         return 4 * a;
  20.     }
  21.     double plostina() {
  22.         return a * a;
  23.     }
  24.     void pecati() {
  25.         cout << "Kvadrat so dolzina a=" << a << " ima plostina P=" << plostina()
  26.              << " i perimetar L=" << perimetar() << endl;
  27.     }
  28.     void setA(double a) {
  29.         this->a = a;
  30.     }
  31.     double getA() const {
  32.         return a;
  33.     }
  34. };
  35.  
  36. class Pravoagolnik : public Kvadrat {
  37. private:
  38.     double x;
  39.     double y;
  40.  
  41. public:
  42.     Pravoagolnik() : Kvadrat() {
  43.     }
  44.     Pravoagolnik(const Kvadrat &k, double x, double y) : Kvadrat(k) {
  45.         this->x = x + k.getA();
  46.         this->y = y + k.getA();
  47.     }
  48.     Pravoagolnik(const Pravoagolnik &p) {
  49.         setA(p.a);
  50.         x = p.x;
  51.         y = p.y;
  52.     }
  53.     double perimetar() {
  54.         return 2 * x + 2 * y;
  55.     }
  56.     double plostina() {
  57.         return x * y;
  58.     }
  59.     void pecati() {
  60.         if (x != y)
  61.             cout << "Pravoagolnik so strani x=" << x << " i y=" << y
  62.                  << " ima plostina P=" << plostina()
  63.                  << " i perimetar L=" << perimetar() << endl;
  64.         else
  65.             Kvadrat::pecati();
  66.     }
  67. };
  68.  
  69. int main() {
  70.     int n;
  71.     double a, x, y;
  72.     Kvadrat *kvadrati;
  73.     Pravoagolnik *pravoagolnici;
  74.  
  75.     cin >> n;
  76.  
  77.     kvadrati = new Kvadrat[n];
  78.     pravoagolnici = new Pravoagolnik[n];
  79.  
  80.     for (int i = 0; i < n; i++) {
  81.         cin >> a;
  82.  
  83.         kvadrati[i] = Kvadrat(a);
  84.     }
  85.  
  86.     for (int i = 0; i < n; i++) {
  87.         cin >> x >> y;
  88.  
  89.         pravoagolnici[i] = Pravoagolnik(kvadrati[i], x, y);
  90.     }
  91.  
  92.     int testCase;
  93.     cin >> testCase;
  94.  
  95.     if (testCase == 1) {
  96.         cout << "===Testiranje na klasata Kvadrat===" << endl;
  97.         for (int i = 0; i < n; i++)
  98.             kvadrati[i].pecati();
  99.     } else {
  100.         cout << "===Testiranje na klasata Pravoagolnik===" << endl;
  101.         for (int i = 0; i < n; i++)
  102.             pravoagolnici[i].pecati();
  103.     }
  104. }
  105.  
  106. ===============================================================================================
  107.  
  108. #include <iostream>
  109. #include <cstring>
  110. #include <string>
  111. using namespace std;
  112.  
  113. class NBAPlayer
  114. {
  115. protected:
  116.     char *ime;
  117.     char tim[40];
  118.     double poeni;
  119.     double asistencii;
  120.     double skokovi;
  121. public:
  122.     NBAPlayer (){
  123.         ime = new char[0];
  124.         poeni = 0;
  125.         asistencii = 0;
  126.         skokovi = 0;
  127.         strcpy(ime, "");
  128.          }
  129.     NBAPlayer(char *i, char *t, double p, double a, double s)
  130.     {
  131.         ime = new char[strlen(ime) + 1];
  132.         strcpy(ime, i);
  133.         strcpy(tim, t);
  134.         poeni = p;
  135.         asistencii = a;
  136.         skokovi = s;
  137.     }
  138.     NBAPlayer(NBAPlayer &np)
  139.     {
  140.         ime = new char[strlen(np.ime)+1];
  141.         strcpy(ime, np.ime);
  142.         strcpy(tim, np.tim);
  143.         poeni = np.poeni;
  144.         asistencii = np.asistencii;
  145.         skokovi = np.skokovi;
  146.     }
  147.  
  148.     NBAPlayer& operator= ( const NBAPlayer &np)
  149.     {
  150.         if(this == &np)
  151.             return *this;
  152.             else
  153.         delete[] ime;
  154.         ime = new char[strlen(np.ime) + 1];
  155.         strcpy(ime, np.ime);
  156.         strcpy(tim, np.tim);
  157.         poeni = np.poeni;
  158.         asistencii = np.asistencii;
  159.         skokovi = np.skokovi;
  160.     }
  161.  
  162.     ~NBAPlayer()
  163.     {
  164.         delete [] ime;
  165.     }
  166.  
  167.     double rating()
  168.     {
  169.         return 0.45*poeni + 0.3*asistencii + 0.25*skokovi;
  170.     }
  171.     void print()
  172.     {
  173.         cout << ime << " - " << tim << endl;
  174.         cout << "Points: " << poeni << endl;
  175.         cout << "Assists: " << asistencii << endl;
  176.         cout << "Reboundds: " << skokovi << endl;
  177.         cout << "Rating: " << rating() << endl;
  178.     }
  179. };
  180.  
  181. class AllStarPlayer : public NBAPlayer
  182. {
  183. protected:
  184.     double poeniAll;
  185.     double asistenciiAll;
  186.     double skokoviAll;
  187. public:
  188.     AllStarPlayer() : NBAPlayer()
  189.     {
  190.         poeniAll = 0;
  191.         asistenciiAll = 0;
  192.         skokoviAll = 0;
  193.     }
  194.     AllStarPlayer(char *i, char *t, double p, double a, double s, double pa, double aa, double sa) : NBAPlayer(i,t,p,a,s)
  195.     {
  196.         poeniAll = pa;
  197.         asistenciiAll = aa;
  198.         skokoviAll = sa;
  199.     }
  200.     AllStarPlayer(NBAPlayer &np, double asp, double asa, double alle) :NBAPlayer(np)
  201.     {
  202.         poeniAll = asp;
  203.         asistenciiAll = asa;
  204.         skokoviAll = alle;
  205.     }
  206.     AllStarPlayer(AllStarPlayer &all) : NBAPlayer(all)
  207.     {
  208.         poeniAll = all.poeniAll;
  209.         asistenciiAll = all.asistenciiAll;
  210.         skokoviAll = all.skokoviAll;
  211.     }
  212.     AllStarPlayer& operator= (const AllStarPlayer &all)
  213.     {
  214.         if(this == &all)
  215.             return *this;
  216.             else
  217.         delete [] ime;
  218.         ime = new char[strlen(all.ime) + 1];
  219.         poeniAll = all.poeniAll;
  220.         asistenciiAll = all.asistenciiAll;
  221.         skokoviAll = all.skokoviAll;
  222.         strcpy(ime, all.ime);
  223.         strcpy(tim, all.tim);
  224.         poeni = all.poeni;
  225.         asistencii = all.asistencii;
  226.         skokovi = all.skokovi;
  227.     }
  228.     double allStarRating()
  229.     {
  230.         return 3.0*poeniAll + 4.0*asistenciiAll + 3.0*skokoviAll;
  231.     }
  232.     double rating()
  233.     {
  234.         return (NBAPlayer::rating()+rating())/2;
  235.     }
  236.     void print()
  237.     {
  238.         NBAPlayer::print();
  239.         cout << "All Star Rating: " << allStarRating() << endl;
  240.         cout << "New Rating: " << rating() << endl;
  241.     }
  242. };
  243.     int main() {
  244.  
  245.   char name[50];
  246.   char team[40];
  247.   double points;
  248.   double assists;
  249.   double rebounds;
  250.   double allStarPoints;
  251.   double allStarAssists;
  252.   double allStarRebounds;
  253.  
  254.   NBAPlayer * players = new NBAPlayer[5];
  255.   AllStarPlayer * asPlayers = new AllStarPlayer[5];
  256.   int n;
  257.   cin >> n;
  258.  
  259.   if (n == 1) {
  260.  
  261.     cout << "NBA PLAYERS:" << endl;
  262.     cout << "=====================================" << endl;
  263.     for (int i = 0; i < 5; ++i) {
  264.       cin >> name >> team >> points >> assists >> rebounds;
  265.       players[i] = NBAPlayer(name,team,points,assists,rebounds);
  266.       players[i].print();
  267.     }
  268.   }
  269.   else if (n == 2) {
  270.  
  271.     for (int i=0; i < 5; ++i){
  272.       cin >> name >> team >> points >> assists >> rebounds;
  273.       cin >> allStarPoints >> allStarAssists >> allStarRebounds;
  274.       players[i] = NBAPlayer(name,team,points,assists,rebounds);
  275.       asPlayers[i] = AllStarPlayer(players[i],allStarPoints,allStarAssists,allStarRebounds);
  276.     }
  277.  
  278.     cout << "NBA PLAYERS:" << endl;
  279.     cout << "=====================================" << endl;
  280.     for (int i=0; i < 5; ++i)
  281.       //players[i].print();
  282.  
  283.     cout << "ALL STAR PLAYERS:" << endl;
  284.     cout << "=====================================" << endl;
  285.     for (int i=0; i < 5; ++i)
  286.       asPlayers[i].print();
  287.  
  288.     }
  289.     else if (n == 3) {
  290.  
  291.       for (int i=0; i < 5; ++i){
  292.         cin >> name >> team >> points >> assists >> rebounds;
  293.         cin >> allStarPoints >> allStarAssists >> allStarRebounds;
  294.         asPlayers[i] = AllStarPlayer(name, team, points, assists, rebounds,
  295.                                      allStarPoints,allStarAssists,allStarRebounds);
  296.       }
  297.       cout << "ALL STAR PLAYERS:" << endl;
  298.       cout << "=====================================" << endl;
  299.       for (int i=0; i < 5; ++i)
  300.         asPlayers[i].print();
  301.  
  302.     }
  303.  
  304.     delete [] players;
  305.     delete [] asPlayers;
  306. }
  307.  
  308. ===============================================================================================
  309.  
  310. include <iostream>
  311. #include <cstring>
  312. #include <string>
  313. using namespace std;
  314. class Nedviznina
  315. {
  316. protected:
  317.     char *adresa;
  318.     int kvadratura;
  319.     int cenak;
  320. public:
  321.     Nedviznina()
  322.     {
  323.         adresa = new char[0];
  324.         kvadratura = 0;
  325.         cenak = 0;
  326.     }
  327.  
  328.     friend istream& operator>> (istream& in,  Nedviznina &n)
  329.     {
  330.         in >> n.adresa ;
  331.         in >> n.kvadratura;
  332.         in >> n.cenak;
  333.         return in;
  334.     }
  335.  
  336.     int cena()
  337.     {
  338.         return cenak * kvadratura;
  339.     }
  340.     void pecati()
  341.     {
  342.         cout << adresa << ", Kvadratura: " << kvadratura << ", Cena po kvadrat: " <<cenak <<  endl;
  343.     }
  344.     float danokNaImot()
  345.     {
  346.         return cena() * 0.05;
  347.     }
  348.     char *getAdresa()
  349.     {
  350.         return adresa;
  351.     }
  352. };
  353.  
  354. class Vila : public Nedviznina{
  355. private:
  356.     int danokNaLuksuz;
  357. public:
  358.     Vila()
  359.     {
  360.         danokNaLuksuz = 0;
  361.     }
  362.  
  363.     void pecati()
  364.     {
  365.         cout << adresa << ", Kvadratura: " << kvadratura << ", Cena po kvadrat: " <<cenak;
  366.         cout << ", Danok na luksuz: " << danokNaLuksuz << endl;
  367.     }
  368.  
  369.     float danokNaImot()
  370.     {
  371.         return Nedviznina::danokNaImot()+ (Nedviznina::cena()*danokNaLuksuz/100);
  372.     }
  373.  
  374.     friend istream& operator>> (istream& in, Vila &v)
  375.     {
  376.         in >> v.adresa;
  377.         in >> v.kvadratura;
  378.         in >> v.cenak;
  379.         in >> v.danokNaLuksuz;
  380.         return in;
  381.     }
  382. char *getAdresa()
  383.     {
  384.         return adresa;
  385.     }
  386. };
  387. int main(){
  388.     Nedviznina n;
  389.     Vila v;
  390.     cin>>n;
  391.     cin>>v;
  392.     n.pecati();
  393.     cout<<"Danok za: "<<n.getAdresa()<<", e: "<<n.danokNaImot()<<endl;
  394.     v.pecati();
  395.     cout<<"Danok za: "<<v.getAdresa()<<", e: "<<v.danokNaImot()<<endl;
  396.     return 0;
  397. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement