全球FlexSim系统仿真中文论坛

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

作者: 苏木夏A    时间: 2012-12-14 00:35
标题: 帮帮忙,看看这段代码中的几个地方怎么理解
int ascending = 1;" [& k" D$ l! [; S4 `5 t8 H! e0 l3 l7 K
int descending = 2;) C- t& t/ A8 D  u1 J7 u
int order =ascending;
9 Y) V& g9 |( Y1 }0 a6 M(这里的定义是要表达什么,不是系统函数吧?和下面的判断语句有什么关系?)4 |! \( Q. Z0 h
string labelname ="reprocess";: B4 u* n$ Q7 ]2 W
( c# L7 H7 Q& W$ S
( `) b0 h: p4 x+ N
double curitemtype = getlabelnum(item, labelname);4 |* V# `  i! f6 ?. o( F  _2 {
int maxrank = 1;# w& A1 m+ p0 g# C9 u9 b
for(int i = 1; i <= content(current); i++)
- `9 `6 Y, f3 I; ]' k{
1 B: g0 W5 F: Q5 Y$ D2 Z% H# T        double compare = getlabelnum(rank(current, i), labelname);+ a6 L7 ^$ B$ U- G
        if(order == ascending)    《为什么要这句判断语句,不是一直都相等吗?上面赋值了啊
5 s- E/ e( y9 \' J        {0 X5 K3 ]% C! {. ?9 u
                if(compare > curitemtype)# E" R  E. l! h9 f
                        break;: ^. e# w# z0 w; z
        }
' j3 t# |2 k& F/ d9 O9 B        else if(compare < curitemtype)
* P! i& T3 D' U                break;
" b1 j4 m0 j$ m4 p. Q        maxrank++;
0 s7 ]# I- B9 p; Y9 x/ \+ Z6 p}2 Q8 Q7 l, D$ i2 u6 r
setrank(item,min(maxrank, content(current)));
, k+ A- i2 `' T% |3 K, E/ P# X
! p6 c' a; D; p/ s- \$ s}
作者: domcylai    时间: 2012-12-14 08:35
那个地方是供用户定义的, 这是个暂存区里排序的算法,  默认的话是ascending ,你可以在下拉菜单那里直接修改(选择升序或降序)。
作者: 苏木夏A    时间: 2012-12-14 13:12
if(order == ascending)    ( j" O& g$ W. T/ g
这里怎么理解呢?谢谢了
作者: domcylai    时间: 2012-12-14 13:33
下面不是有个else  吗$ H4 i: p* S' a$ g! W
/ s  Q- K* |7 D/ B7 |1 r
就是说,两种情况都考虑了,如果用户选择ascending,就执行大括号里面的脚本,否则执行else 下大括号的脚本。
作者: 苏木夏A    时间: 2012-12-14 23:48
4# domcylai . Q+ w& ?+ C* M$ Y

- t# c) o+ l- x1 G6 k/ d; Y/ b$ n8 W' z! d
误入歧途了,非常感谢你
作者: ygf80214    时间: 2012-12-16 17:53
5# 苏木夏A 4 z- e9 h% Y, J( P8 r

+ k6 g6 Q1 m' ?; e4 T, Z! \0 N2 }/ s) A. @
你懂了 ?




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