Anda69

Untitled

Mar 7th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <vector>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. class Tribuene{
  9. private:
  10.     int Kapazitaet;
  11.     int Aktuelle_Anzahl_Fans;
  12.     bool Ist_Heimtribuene;
  13.     string Himmelsrichtung;
  14.     double Preis_Pro_Ticket;
  15. public:
  16.     Tribuene();
  17.     Tribuene(int Kapazitaet, int Aktuelle_Anzahl_Fans, bool Ist_Heimtribuene, string Himmelsrichtung, double Preis_Pro_Ticket){
  18.         set_Kapazitaet(Kapazitaet);
  19.         set_Aktuelle_Anzahl_Fans(Aktuelle_Anzahl_Fans);
  20.         set_Ist_Heimtribuene(Ist_Heimtribuene);
  21.         set_Himmelsrichtung(Himmelsrichtung);
  22.         set_Preis_Pro_Ticket(Preis_Pro_Ticket);
  23.     }
  24.     int get_Kapzitaet(){
  25.         return Kapazitaet;
  26.     }
  27.     void set_Kapazitaet(int in){
  28.         Kapazitaet = in;
  29.     }
  30.     int get_Aktuelle_Anzahl_Fans(){
  31.         return Aktuelle_Anzahl_Fans;
  32.     }
  33.     void set_Aktuelle_Anzahl_Fans(int in){
  34.         Aktuelle_Anzahl_Fans = in;
  35.     }
  36.     bool get_Ist_Heimtribuene(){
  37.         return Ist_Heimtribuene;
  38.     }
  39.     void set_Ist_Heimtribuene(bool in){
  40.         Ist_Heimtribuene = in;
  41.     }
  42.     string get_Himmelsrichtung(){
  43.         return Himmelsrichtung;
  44.     }
  45.     void set_Himmelsrichtung(string in){
  46.         Himmelsrichtung = in;
  47.     }
  48.     double get_Preis_Pro_Ticket(){
  49.         return Preis_Pro_Ticket;
  50.     }
  51.     void set_Preis_Pro_Ticket(double in){
  52.         Preis_Pro_Ticket = in;
  53.     }
  54.  
  55. };
  56.  
  57. class Stehplatztribuene : Tribuene{
  58. private:
  59.     bool International;
  60. public:
  61.     Stehplatztribuene();
  62.     Stehplatztribuene(int Kapazitaet, int Aktuelle_Anzahl_Fans, bool Ist_Heimtribuene, string Himmelsrichtung, double Preis_Pro_Ticket, bool International)
  63.         :Tribuene(Kapazitaet, Aktuelle_Anzahl_Fans, Ist_Heimtribuene, Himmelsrichtung, Preis_Pro_Ticket){
  64.         set_International(International);
  65.     }
  66.  
  67.     bool get_International(){
  68.         return International;
  69.     }
  70.     void set_International(bool in){
  71.         International = in;
  72.     }
  73.  
  74.     void International_Umstellung(){
  75.         if(get_International() == false){
  76.             set_International(true);
  77.             set_Kapazitaet(get_Kapzitaet() * 0.6);
  78.         }
  79.         else{
  80.             set_International(false);
  81.             set_Kapazitaet(get_Kapzitaet() * (1/0.6));
  82.         }
  83.     }
  84. };
  85.  
  86. class Sitzplatztribuene : Tribuene{
  87. private:
  88.     int VIP_Plaetze;
  89. public:
  90.     Sitzplatztribuene();
  91.     Sitzplatztribuene(int Kapazitaet, int Aktuelle_Anzahl_Fans, bool Ist_Heimtribuene, string Himmelsrichtung, double Preis_Pro_Ticket, int VIP_Plaetze)
  92.         :Tribuene(Kapazitaet, Aktuelle_Anzahl_Fans, Ist_Heimtribuene, Himmelsrichtung, Preis_Pro_Ticket){
  93.         set_VIP_Plaetze(VIP_Plaetze);
  94.     }
  95.     int get_VIP_Plaetze(){
  96.         return VIP_Plaetze;
  97.     }
  98.     void set_VIP_Plaetze(int in){
  99.         VIP_Plaetze = in;
  100.     }
  101. };
  102.  
  103. class Umkleideraum{
  104. private:
  105.     bool Heimmannschaft;
  106.     double Flaeche;
  107. public:
  108.     Umkleideraum();
  109.     Umkleideraum(double Flaeche, bool Heimmannschaft){
  110.         set_Heimmannschaft(Heimmannschaft);
  111.         set_Flaeche(Flaeche);
  112.     }
  113.     double get_Flaeche(){
  114.         return Flaeche;
  115.     }
  116.     void set_Flaeche(double in){
  117.         Flaeche = in;
  118.     }
  119.     int get_Heimmannschaft(){
  120.         return Heimmannschaft;
  121.     }
  122.     void set_Heimmannschaft(bool in){
  123.         Heimmannschaft = in;
  124.     }
  125.  
  126.  
  127. };
  128.  
  129. class Lagerraum{
  130. private:
  131.     int Anzahl_Wurst;
  132.     int Anzahl_Bier;
  133.     int Anzahl_Broetchen;
  134.     int Limit;
  135.     int Anzahl_Lagerraeume;
  136. public:
  137.     Lagerraum();
  138.     Lagerraum(int Anzahl_Wurst, int Anzahl_Bier, int Anzahl_Broetchen, int Limit, int Anzahl_Lagerraeume){
  139.         set_Anzahl_Bier(Anzahl_Bier);
  140.         set_Anzahl_Broetchen(Anzahl_Broetchen);
  141.         set_Anzahl_Lagerraueme(Anzahl_Lagerraeume);
  142.         set_Anzahl_Wurst(Anzahl_Wurst);
  143.         set_Limit(Limit);
  144.     }
  145.  
  146.     int get_Anzahl_Wurst(){
  147.         return Anzahl_Wurst;
  148.         }
  149.     void set_Anzahl_Wurst(int in){
  150.         Anzahl_Wurst = in;
  151.     }
  152.     int get_Anzahl_Bier(){
  153.         return Anzahl_Bier;
  154.         }
  155.     void set_Anzahl_Bier(int in){
  156.         Anzahl_Bier = in;
  157.         }
  158.     int get_Anzahl_Broetchen(){
  159.         return Anzahl_Broetchen;
  160.         }
  161.     void set_Anzahl_Broetchen(int in){
  162.         Anzahl_Broetchen = in;
  163.         }
  164.     int get_Anzahl_Lagerraueme(){
  165.         return Anzahl_Lagerraeume;
  166.         }
  167.     void set_Anzahl_Lagerraueme(int in){
  168.         Anzahl_Lagerraeume = in;
  169.         }
  170.     int get_Limit(){
  171.         return Limit;
  172.         }
  173.     void set_Limit(int in){
  174.         Limit = in;
  175.         }
  176.  
  177.     void bestellen(string art){
  178.         if(art == "broetchen"){
  179.             set_Anzahl_Broetchen(get_Anzahl_Broetchen()+2500);
  180.             return;
  181.         }
  182.         if(art == "bier"){
  183.             set_Anzahl_Bier(get_Anzahl_Bier()+2500);
  184.             return;
  185.         }
  186.         if(art == "wurst"){
  187.             set_Anzahl_Wurst(get_Anzahl_Wurst()+2500);
  188.             return;
  189.         }
  190.     }
  191.  
  192.     int bringen(string art, int anzahl){
  193.         int help = 0;
  194.         if(art == "broetchen"){
  195.             if(get_Anzahl_Broetchen() > anzahl){
  196.                 help = get_Anzahl_Broetchen();
  197.                 set_Anzahl_Broetchen(0);
  198.                 bestellen("broetchen");
  199.                 return help;
  200.             }
  201.             else{
  202.                 set_Anzahl_Broetchen(get_Anzahl_Broetchen()-anzahl);
  203.                 if(get_Anzahl_Broetchen() < get_Limit()){
  204.                     bestellen("broetchen");
  205.                 }
  206.                 return anzahl;
  207.             }
  208.         }
  209.         if(art == "wurst"){
  210.             if(get_Anzahl_Wurst() > anzahl){
  211.                 help = get_Anzahl_Wurst();
  212.                 set_Anzahl_Wurst(0);
  213.                 bestellen("wurst");
  214.                 return help;
  215.             }
  216.             else{
  217.                 set_Anzahl_Wurst(get_Anzahl_Wurst()-anzahl);
  218.                 if(get_Anzahl_Wurst() < get_Limit()){
  219.                     bestellen("wurst");
  220.                 }
  221.                 return anzahl;
  222.             }
  223.         }
  224.         if(art == "bier"){
  225.             if(get_Anzahl_Bier() > anzahl){
  226.                 help = get_Anzahl_Bier();
  227.                 set_Anzahl_Bier(0);
  228.                 bestellen("bier");
  229.                 return help;
  230.             }
  231.             else{
  232.                 set_Anzahl_Bier(get_Anzahl_Bier()-anzahl);
  233.                 if(get_Anzahl_Bier() < get_Limit()){
  234.                     bestellen("bier");
  235.                 }
  236.                 return anzahl;
  237.             }
  238.         }
  239.     }
  240. };
  241.  
  242. class Katakomben{
  243. private:
  244.     double Tiefe;
  245.     double Flaeche;
  246.     vector<Umkleideraum> Umkleideraeume;
  247.     Lagerraum Lagerraeume;
  248. public:
  249.     Katakomben();
  250.     Katakomben(double Tiefe, double Flaeche, int Anzahl_Wurst, int Anzahl_Bier, int Anzahl_Broetchen, int Limit, int Anzahl_Lagerraeume, double Flaeche_Umkleide_1, bool Heimmannschaft_Umkleide, double Flaeche_Umkleide_2){
  251.         set_Tiefe(Tiefe);
  252.         set_Flaeche(Flaeche);
  253.         set_Lagerraeume(Lagerraum(Anzahl_Wurst, Anzahl_Bier, Anzahl_Broetchen, Limit, Anzahl_Lagerraeume));
  254.         vector<Umkleideraum> help;
  255.         help.push_back(Umkleideraum(Flaeche_Umkleide_1, Heimmannschaft_Umkleide));
  256.         help.push_back(Umkleideraum(Flaeche_Umkleide_2, !Heimmannschaft_Umkleide));
  257.         set_Umkleideraum(help);
  258.     }
  259.  
  260.     double get_Tiefe(){
  261.         return Tiefe;
  262.     }
  263.     void set_Tiefe(double in){
  264.         Tiefe = in;
  265.     }
  266.     double get_Flaeche(){
  267.         return Flaeche;
  268.     }
  269.     void set_Flaeche(double in){
  270.         Flaeche = in;
  271.     }
  272.     vector<Umkleideraum> get_Umkleideraum(){
  273.         return Umkleideraeume;
  274.     }
  275.     void set_Umkleideraum(vector<Umkleideraum> in){
  276.         Umkleideraeume = in;
  277.     }
  278.     Lagerraum get_Lagerraeume(){
  279.         return Lagerraeume;
  280.     }
  281.     void set_Lagerraeume(Lagerraum in){
  282.         Lagerraeume = in;
  283.     }
  284. };
  285.  
  286. class Rasen{
  287. private:
  288.     int Laenge;
  289.     int Breite;
  290.     int Umgriffsmeter;
  291.     string Rasenart;
  292. public:
  293.     Rasen();
  294.     Rasen(int Laenge, int Breite, int Umgriffsmeter, string Rasenart){
  295.         set_Breite(Breite);
  296.         set_Laenge(Laenge);
  297.         set_Umgriffsmeter(Umgriffsmeter);
  298.         set_Rasenart(Rasenart);
  299.     }
  300.  
  301.     int get_Laenge(){
  302.         return Laenge;
  303.     }
  304.     void set_Laenge(int in){
  305.         Laenge = in;
  306.     }
  307.     int get_Breite(){
  308.         return Breite;
  309.     }
  310.     void set_Breite(int in){
  311.         Breite = in;
  312.     }
  313.     int get_Umgriffsmeter(){
  314.         return Umgriffsmeter;
  315.     }
  316.     void set_Umgriffsmeter(int in){
  317.         Umgriffsmeter = in;
  318.     }
  319.     string get_Rasenart(){
  320.         return Rasenart;
  321.     }
  322.     void set_Rasenart(string in){
  323.         Rasenart = in;
  324.     }
  325.  
  326.     int Spielfeldflaeche_errechnen(){
  327.         return (get_Breite() * get_Laenge());
  328.     }
  329.     int Rasenflaeche_errechnen(){
  330.         return ((get_Breite() + 2*get_Umgriffsmeter()) * (get_Laenge() + 2*get_Umgriffsmeter()));
  331.     }
  332. };
  333.  
  334.  
  335.  
  336. class Stadion{
  337. private:
  338.     string Verein;
  339.     bool Olympisch;
  340.     string Laufbahnart;
  341.     Katakomben katakomben;
  342.     Rasen rasen;
  343.     vector<Tribuene*> tribuenen;
  344. public:
  345.     Stadion(){}
  346.     Stadion(string Verein, bool Olympisch, string Laufbahnart, int Laenge, int Breite, int Umgriffsmeter, string Rasenart,
  347.             double Tiefe, double Flaeche, int Anzahl_Wurst, int Anzahl_Bier, int Anzahl_Broetchen, int Limit, int Anzahl_Lagerraeume, double Flaeche_Umkleide_1, bool Heimmannschaft_Umkleide, double Flaeche_Umkleide_2,
  348.             unsigned Anzahl_Tribuenen, vector<int> Kapazitaet, vector<int> Aktuelle_Anzahl_Fans, vector<bool> Ist_Heimtribuene, vector<string> Himmelsrichtung, vector<double> Preis_Pro_Ticket,
  349.             vector<int> VIP_Plaetze){
  350.  
  351.         set_Verein(Verein);
  352.         set_Olympisch(Olympisch);
  353.         if(get_Olympisch() == true){
  354.             set_Laufbahnart(Laufbahnart);
  355.         }
  356.         else{
  357.             set_Laufbahnart("");
  358.         }
  359.         set_Rasen(Rasen(Laenge, Breite, Umgriffsmeter, Rasenart));
  360.         set_Katakomben(Katakomben(Tiefe, Flaeche, Anzahl_Wurst, Anzahl_Bier, Anzahl_Broetchen, Anzahl_Lagerraeume, Limit ,Flaeche_Umkleide_1, Heimmannschaft_Umkleide, Flaeche_Umkleide_2));
  361.         vector<Tribuene*> help;
  362.         for(unsigned i=0; i<Anzahl_Tribuenen; i++){
  363.             if(VIP_Plaetze[i] != 0){
  364.                 Sitzplatztribuene(Kapazitaet[i], Aktuelle_Anzahl_Fans[i], Ist_Heimtribuene[i], Himmelsrichtung[i], Preis_Pro_Ticket[i], VIP_Plaetze[i]);
  365.             }
  366.             else{
  367.                 Stehplatztribuene(Kapazitaet[i], Aktuelle_Anzahl_Fans[i], Ist_Heimtribuene[i], Himmelsrichtung[i], Preis_Pro_Ticket[i], false);
  368.             }
  369.         }
  370.     }
  371.  
  372.     string get_Verein(){
  373.         return Verein;
  374.     }
  375.     void set_Verein(string in){
  376.         Verein = in;
  377.     }
  378.     bool get_Olympisch(){
  379.         return Olympisch;
  380.     }
  381.     void set_Olympisch(bool in){
  382.         Olympisch = in;
  383.     }
  384.     string get_Laufbahnart(){
  385.         return Laufbahnart;
  386.     }
  387.     void set_Laufbahnart(string in){
  388.         Laufbahnart = in;
  389.     }
  390.     Katakomben get_Katakomben(){
  391.         return katakomben;
  392.     }
  393.     void set_Katakomben(Katakomben in){
  394.         katakomben = in;
  395.     }
  396.     Rasen get_Rasen(){
  397.         return rasen;
  398.     }
  399.     void set_Rasen(Rasen in){
  400.         rasen = in;
  401.     }
  402.     vector<Tribuene*> get_Tribuenen(){
  403.         return tribuenen;
  404.     }
  405.     void set_triebunen(vector<Tribuene*> in){
  406.         tribuenen = in;
  407.     }
  408.  
  409.     int gesamptkapazitaet(){
  410.         vector<Tribuene*> help = get_Tribuenen();
  411.         int output = 0;
  412.         for(unsigned i=0; i<help.size(); i++){
  413.             output+= help[i]->get_Kapzitaet();
  414.         }
  415.         return output;
  416.     }
  417.  
  418.     double gesamtgewinn(){
  419.  
  420.     }
  421.  
  422.  
  423. };
  424.  
  425.  
  426.  
  427. int main(){
  428. //Nach der Vererbung der Tribünen kann ich nicht auf getter, setter zugreifen :s
  429. //es fehlt: Kiosk, Interface, Gesamtgewinn (offensichtlicherweise, da es davon abhängt).
  430. }
Add Comment
Please, Sign In to add comment