Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <vector>
- class Fahrrad
- {
- public:
- Fahrrad(float d)
- {
- durch = d;
- }
- virtual double bestimmeEntfaltung() = 0;
- double bestimmeRadumfang()
- {
- double u = M_PI * durch;
- return u;
- }
- virtual double berechnegeschwindigkeit (int umdrehung) = 0;
- void druckegeschwindigkeit (Fahrrad& fahrrad, double trittfrequenz)
- {
- std::cout << "Das Fahrrad fährt bei einer Trittfrequenz von " << trittfrequenz << "mit der Geschwindigkeit " << fahrrad.berechnegeschwindigkeit(trittfrequenz) << std::endl;
- }
- private:
- float durch;
- };
- class Eingangrad : public Fahrrad
- {
- public:
- Eingangrad ( int v, int h, float d): Fahrrad(d)
- {
- zkvorn = v;
- zkhinten = h;
- }
- double bestimmeEntfaltung() override
- {
- double e = bestimmeRadumfang() * zkvorn / zkhinten;
- return e;
- }
- double berechnegeschwindigkeit (int umdrehung) override
- {
- double v = umdrehung * bestimmeEntfaltung() *60 / 1000;
- return v;
- }
- private:
- int zkvorn;
- int zkhinten;
- };
- class Elfgangrad : public Fahrrad
- {
- public:
- void setzegang(int gangvorn, int ganghinten)
- {
- VORNE = zkvorn.at(gangvorn);
- HINTEN = zkhinten.at(ganghinten);
- }
- Elfgangrad(float d) : Fahrrad(d)
- {
- setzegang(0,0);
- }
- double bestimmeEntfaltung() override
- {
- double e = bestimmeRadumfang() * VORNE / HINTEN;
- return e;
- }
- double berechnegeschwindigkeit (int umdrehung) override
- {
- double v = umdrehung * bestimmeEntfaltung() *60 / 1000;
- return v;
- }
- private:
- std::vector<int> zkvorn = {34, 50};
- std::vector<int> zkhinten = {28, 24, 21, 19, 17, 15, 13, 12, 11};
- float durch;
- int VORNE;
- int HINTEN;
- };
- int main()
- {
- Elfgangrad radeins(0.65);
- Eingangrad radzwei(50, 20, 0.65);
- radeins.druckegeschwindigkeit(radeins,90);
- radzwei.druckegeschwindigkeit(radzwei,90);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement