profile
Размещено 4 месяца назад по предмету Информатика от alekseyakoba

Прошу помогите с кодом на С++

Код который есть:

#include

#include



class ModuleBase {

public:

virtual void OnTick(double price) = 0;

virtual void CloseAll() = 0;

virtual ~ModuleBase() = default;

};



class ModuleBorders : public ModuleBase {

public:

explicit ModuleBorders(AccountInterface* account)

: account(account), positionId(-1) {}



void OnTick(double price) override {

if (price == 1.0 && positionId == -1) {



double availableBalance = account->GetAvailBalance();

if (availableBalance > 0) {

double positionSize = availableBalance / price;

positionId = account->OpenPosition(positionSize);

}

} else if (price == 10.0 && positionId != -1) {



account->ClosePosition(positionId);

positionId = -1;

}

}



void CloseAll() override {

if (positionId != -1) {

account->ClosePosition(positionId);

positionId = -1;

}

}



private:

AccountInterface* account;

int positionId;

};



class ModulesRouter {

public:

void OnTick(double price) {

for (auto module : modules) {

module->OnTick(price);

}

}



void AddModule(ModuleBase* ptr) {

modules.push_back(ptr);

}



void CloseAll() {

for (auto module : modules) {

module->CloseAll();

}

}



private:

std::vector modules;

};



Но пишет, что ошибка при исполнении, помогите кто может даю 100 баллов (если что все фото по порядку идут)

  1. Ответ на вопрос
    Ответ на вопрос дан Clevelr

    Ответ:

    #include <vector>

    class AccountInterface {

    public:

       virtual double GetAvailBalance() = 0;

       virtual int OpenPosition(double positionSize) = 0;

       virtual void ClosePosition(int positionId) = 0;

       virtual ~AccountInterface() = default;

    };

    class ModuleBase {

    public:

       virtual void OnTick(double price) = 0;

       virtual void CloseAll() = 0;

       virtual ~ModuleBase() = default;

    };

    class ModuleBorders : public ModuleBase {

    public:

       explicit ModuleBorders(AccountInterface* account)

           : account(account), positionId(-1) {}

       void OnTick(double price) override {

           if (price == 1.0 && positionId == -1) {

               double availableBalance = account->GetAvailBalance();

               if (availableBalance > 0) {

                   double positionSize = availableBalance / price;

                   positionId = account->OpenPosition(positionSize);

               }

           } else if (price == 10.0 && positionId != -1) {

               account->ClosePosition(positionId);

               positionId = -1;

           }

       }

       void CloseAll() override {

           if (positionId != -1) {

               account->ClosePosition(positionId);

               positionId = -1;

           }

       }

    private:

       AccountInterface* account;

       int positionId;

    };

    class ModulesRouter {

    public:

       void OnTick(double price) {

           for (auto module : modules) {

               if (module)

                   module->OnTick(price);

           }

       }

       void AddModule(ModuleBase* ptr) {

           if (ptr)

               modules.push_back(ptr);

       }

       void CloseAll() {

           for (auto module : modules) {

               if (module)

                   module->CloseAll();

           }

       }

    private:

       std::vector<ModuleBase*> modules;

    };

    1. Ответ на вопрос
      Ответ на вопрос дан Clevelr
      Ой, тоесть этот
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.