首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在omnet++中显示特定轮次的结果?

如何在omnet++中显示特定轮次的结果?
EN

Stack Overflow用户
提问于 2016-08-05 13:20:08
回答 1查看 88关注 0票数 0

我在omnet++ (mixim)中模拟了一个无线传感器网络,我想要分析500,1000,1500,2000,2500,3000,3500和4000个轮次的结果。我写的代码如下,但它不工作,并在一些轮次显示结果,如496,492和502。我如何更改代码来显示我提到的特定的7轮?代码:

代码语言:javascript
复制
 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);
EN

回答 1

Stack Overflow用户

发布于 2016-08-05 15:22:25

您的代码检查rr与预期轮数之间的差值是否小于5。

代码语言:javascript
复制
rr = 496
if ( abs(rr-500) < 5 || .....) {
    // your code
}
//--> abs(496 - 500) < 5 
//--> abs(-4) < 5 
//-->  4 < 5 --> true

所以你的if子句对于rr = 496来说就是真的了。要避免这种情况,请删除abs()<5,并按如下方式进行更改:

代码语言:javascript
复制
if( rr == 500 || rr == 1000 || .....) {
    // your code
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38781610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档