Advertisement
Anda69

Untitled

Mar 7th, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.80 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement