全球FlexSim系统仿真中文论坛

标题: 帮帮忙,看看这段代码中的几个地方怎么理解 [打印本页]

作者: 苏木夏A    时间: 2012-12-14 00:35
标题: 帮帮忙,看看这段代码中的几个地方怎么理解
int ascending = 1;
- p  m% C- T) [! O& J% V0 _  n* _int descending = 2;
! ~* y5 ]+ A2 G+ ~! V1 tint order =ascending; $ R$ e' ^5 Q8 z  \! `5 C, q; O
(这里的定义是要表达什么,不是系统函数吧?和下面的判断语句有什么关系?)
: r. t& r9 U: b& Vstring labelname ="reprocess";, V8 L) ~+ s$ _1 o+ W6 S

& m) P% [: K2 K6 c  p5 G( o
6 p/ C  k2 g- m; V  j: odouble curitemtype = getlabelnum(item, labelname);+ V5 t5 Y9 N2 N9 ~8 N4 _0 |* Y
int maxrank = 1;
9 Q+ q% E) `! ]6 hfor(int i = 1; i <= content(current); i++)
) q6 y( v& E3 a7 g5 K{
: i6 n- r. y3 W! e$ X        double compare = getlabelnum(rank(current, i), labelname);$ V4 T3 \7 T! r" G  f% D7 i2 _$ F
        if(order == ascending)    《为什么要这句判断语句,不是一直都相等吗?上面赋值了啊
5 l& C2 L0 ^' P3 V        {8 M9 D! \6 V0 a9 h
                if(compare > curitemtype)4 N+ Q+ `3 ]( O& h, H, x) ^
                        break;
  k. U- A% Q' W" G& S  j        }
! }4 v1 U, a- O        else if(compare < curitemtype)
: d# w, b% j; d7 i4 [2 w                break;- h0 Q- W$ |6 M: _4 n4 `- U
        maxrank++;. [, U- M. j3 E5 R, p7 a! H
}
8 B' x( J2 t/ T! M; Rsetrank(item,min(maxrank, content(current)));
6 R- U$ M4 M3 j: n! Q
% Q, P$ ?7 l9 ]7 n5 s; K}
作者: domcylai    时间: 2012-12-14 08:35
那个地方是供用户定义的, 这是个暂存区里排序的算法,  默认的话是ascending ,你可以在下拉菜单那里直接修改(选择升序或降序)。
作者: 苏木夏A    时间: 2012-12-14 13:12
if(order == ascending)   
4 b* W0 x2 g1 u这里怎么理解呢?谢谢了
作者: domcylai    时间: 2012-12-14 13:33
下面不是有个else  吗8 J7 s: d( d9 @
! _" y  G% }0 x. f" K2 z( i
就是说,两种情况都考虑了,如果用户选择ascending,就执行大括号里面的脚本,否则执行else 下大括号的脚本。
作者: 苏木夏A    时间: 2012-12-14 23:48
4# domcylai
( v8 i3 l9 _. L$ g- S8 r" Q) e8 t% F- Z1 J/ v( @: l4 G+ c

) g: F  v# {, O: Q! [9 C误入歧途了,非常感谢你
作者: ygf80214    时间: 2012-12-16 17:53
5# 苏木夏A / ]- N0 g2 X# U8 f

5 Q9 ]- ?: V% G& V6 [; X8 z# I3 M
+ a; d6 F* w  G你懂了 ?




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3