Я имитирую беспроводную сенсорную сеть в omnet ++ (mixim), я хочу проанализировать результат в конкретном раунде, например, 500,1000,1500,2000,2500,3000,3500 и 4000. Я пишу код, как следует, но его дозу не работают и показывают результат в некоторых раундах, таких как 496 492 и 502. Как я могу изменить код, чтобы показать, что конкретный 7 раунд, который я упомянул? код:как показать результат в omnet ++ в конкретном раунде?
int rr;
rr=static_cast<SensorNode *>(this->getParentModule()->getParentModule()->getSubmodule("node",1)->getSubmodule("netwl"))->GetRound();
if(abs(rr-500)<5 || abs(rr-1000)<5 || abs(rr-1500)<5 || abs(rr-2000)<5 || abs(rr-2500)<5 || abs(rr-3000)<5 || abs(rr-35000)<5 || abs(rr-4000)<5)
{
char ss1[30];
sprintf(ss1,"Dead_CHs_Round_%d",rr);
recordScalar(ss1,nDeadCH);
спасибо за ответ на мой вопрос, я изменил код, но в итоге dosen't показать все раунды, что я хочу , он показывает только результат раунда 1000,2500 и 4000, что я написал, чтобы показать другой раунд? –
Я слегка отредактировал свой ответ. Можете ли вы опубликовать свое заявление if? Поэтому я могу взглянуть на него. – Ventu
int rr; rr = static_cast (this-> getParentModule() -> getParentModule() -> getSubmodule ("node", 1) -> getSubmodule ("netwl")) -> GetRound(); if (rr == 500 || rr == 1000 || rr == 1500 || rr == 2000 || rr == 2500 || rr == 3000 || rr == 3500 || rr == 4000) –