Advertisement
Guest User

räder fahren

a guest
Jan 17th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4.  
  5. class Fahrrad
  6. {
  7. public:
  8.  
  9. Fahrrad(float d)
  10. {
  11. durch = d;
  12. }
  13.  
  14. virtual double bestimmeEntfaltung() = 0;
  15.  
  16. double bestimmeRadumfang()
  17. {
  18. double u = M_PI * durch;
  19. return u;
  20. }
  21.  
  22. virtual double berechnegeschwindigkeit (int umdrehung) = 0;
  23.  
  24. void druckegeschwindigkeit (Fahrrad& fahrrad, double trittfrequenz)
  25. {
  26. std::cout << "Das Fahrrad fährt bei einer Trittfrequenz von " << trittfrequenz << "mit der Geschwindigkeit " << fahrrad.berechnegeschwindigkeit(trittfrequenz) << std::endl;
  27. }
  28.  
  29. private:
  30. float durch;
  31. };
  32.  
  33. class Eingangrad : public Fahrrad
  34. {
  35. public:
  36. Eingangrad ( int v, int h, float d): Fahrrad(d)
  37. {
  38. zkvorn = v;
  39. zkhinten = h;
  40. }
  41.  
  42. double bestimmeEntfaltung() override
  43. {
  44. double e = bestimmeRadumfang() * zkvorn / zkhinten;
  45. return e;
  46. }
  47.  
  48. double berechnegeschwindigkeit (int umdrehung) override
  49. {
  50. double v = umdrehung * bestimmeEntfaltung() *60 / 1000;
  51. return v;
  52. }
  53. private:
  54. int zkvorn;
  55. int zkhinten;
  56. };
  57.  
  58. class Elfgangrad : public Fahrrad
  59. {
  60. public:
  61. void setzegang(int gangvorn, int ganghinten)
  62. {
  63. VORNE = zkvorn.at(gangvorn);
  64. HINTEN = zkhinten.at(ganghinten);
  65. }
  66.  
  67. Elfgangrad(float d) : Fahrrad(d)
  68. {
  69. setzegang(0,0);
  70. }
  71.  
  72. double bestimmeEntfaltung() override
  73. {
  74. double e = bestimmeRadumfang() * VORNE / HINTEN;
  75. return e;
  76. }
  77.  
  78. double berechnegeschwindigkeit (int umdrehung) override
  79. {
  80. double v = umdrehung * bestimmeEntfaltung() *60 / 1000;
  81. return v;
  82. }
  83. private:
  84. std::vector<int> zkvorn = {34, 50};
  85. std::vector<int> zkhinten = {28, 24, 21, 19, 17, 15, 13, 12, 11};
  86. float durch;
  87. int VORNE;
  88. int HINTEN;
  89. };
  90.  
  91. int main()
  92. {
  93. Elfgangrad radeins(0.65);
  94. Eingangrad radzwei(50, 20, 0.65);
  95. radeins.druckegeschwindigkeit(radeins,90);
  96. radzwei.druckegeschwindigkeit(radzwei,90);
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement