全球FlexSim系统仿真中文论坛

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

作者: 苏木夏A    时间: 2012-12-14 00:35
标题: 帮帮忙,看看这段代码中的几个地方怎么理解
int ascending = 1;
# \9 v$ Y. m% G6 jint descending = 2;
/ B+ z' G- Q7 [int order =ascending; # Z& m- [/ n9 N
(这里的定义是要表达什么,不是系统函数吧?和下面的判断语句有什么关系?)
& k* T1 n, Z) b3 istring labelname ="reprocess";% z: M* Q' f' z4 |7 d" F5 `
4 F8 t) I% R; g) R4 `
$ k, S; {/ U. Y5 D" _0 }# B+ w
double curitemtype = getlabelnum(item, labelname);
; W. n- b2 \( h: ^/ W; w# @  f: Sint maxrank = 1;5 E% R: o2 W' M# k  Q  S3 y7 Q
for(int i = 1; i <= content(current); i++)# U$ \8 Z( l& V9 q
{
; P9 [& f) ^2 K' E9 d- c- m        double compare = getlabelnum(rank(current, i), labelname);
9 T6 Y3 g1 b; @7 ~% c' u        if(order == ascending)    《为什么要这句判断语句,不是一直都相等吗?上面赋值了啊
$ b5 V5 z# M, t" o1 W        {
: z. H2 |' B& {% q' _                if(compare > curitemtype)" j2 z4 b. h' u
                        break;4 }( N5 W; `& m9 M( F) s& T% K
        }
. L: s) }4 k: h0 _) {        else if(compare < curitemtype)
  \, k$ i6 q& W                break;
7 @+ o% @, E! Z( i. `        maxrank++;
7 _% k$ _( z7 e# L* Q}+ A+ _" s* A' W+ X8 Q
setrank(item,min(maxrank, content(current)));
0 K+ |: \9 J' F: O  \
* H- ?. B  i" Z; {) `  T# e}
作者: domcylai    时间: 2012-12-14 08:35
那个地方是供用户定义的, 这是个暂存区里排序的算法,  默认的话是ascending ,你可以在下拉菜单那里直接修改(选择升序或降序)。
作者: 苏木夏A    时间: 2012-12-14 13:12
if(order == ascending)    5 J4 z6 p2 J6 p% e" H! A5 N1 _
这里怎么理解呢?谢谢了
作者: domcylai    时间: 2012-12-14 13:33
下面不是有个else  吗8 Y9 U0 u5 |: _0 k2 g

$ d9 r" ]! H) ^7 H, }4 t5 V就是说,两种情况都考虑了,如果用户选择ascending,就执行大括号里面的脚本,否则执行else 下大括号的脚本。
作者: 苏木夏A    时间: 2012-12-14 23:48
4# domcylai
  M3 X  e5 A! z/ y: M( y
! c" Y$ k) s4 S( {& I
/ f& ]8 q; ?0 k4 V1 `3 {误入歧途了,非常感谢你
作者: ygf80214    时间: 2012-12-16 17:53
5# 苏木夏A   l, b: E1 Y4 u7 m4 r0 M

/ ~' r; P) }5 }: A% {1 g
- Q) X3 [( s9 \你懂了 ?




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