工程家园's Archiver

linkenpark 发表于 2005-4-3 12:59

求助!编程

result love(boy, girl)
    {
    if( boy.有房() and boy.有车() )
    {
    boy.set(nothing);
     return girl.嫁给(boy);
      }
    if( girl.愿意等() )
     {
     while(!(boy.赚钱 > 100,000 and girl.感情 > 8 ) )
     {
     for( day=1; day [=365; day++)
     {
     if( day == 情人节 )
     if( boy.givegirl(玫瑰) )
     girl.感情++;
     else
     girl.感情--;
  
     if( day == girl.生日)
     if( boy.givegirl(玫瑰) )
     girl.感情++;
     else
     girl.感情--;
     boy.拼命赚钱();
     }
     }
        if( boy.有房() and boy.有车() )
        {
     boy.set(nothing);
     return girl.嫁给(boy);
     }
     年龄++;
     girl.感情--;
     }
     return girl.goto( another_boy);
     }

hrbeu 发表于 2005-4-8 20:19


学过c 的都看的懂^_^

浪漫化石 发表于 2005-4-9 16:48

勉强看的懂

紫色流星 发表于 2005-4-9 17:14

没有什么算法的程序

楚凡 发表于 2005-4-9 17:29

感觉有点混乱……

nick 发表于 2005-4-10 09:18

N百年前就有人发过了。。。。。。。。。。

lishuxin612 发表于 2005-4-17 20:20

靠!goto语句不能乱用的啊
删掉return girl.goto( another_boy);
呵呵

天在下雨 发表于 2005-5-19 10:41

[quote]Originally posted by [i]lishuxin612[/i] at 2005-4-17 08:20 PM:
靠!goto语句不能乱用的啊
删掉return girl.goto( another_boy);
呵呵 [/quote]

此goto非彼goto!
这里作者的意思可能是把goto作为girl类的一个方法
C里面GOTO语句也不是绝对不可以用,适当的时候用一下可以起到优化代码的作用,有个原则就是只能单向的GOTO,决不能交叉的GOTO,那就乱套了
显然作者是用C++写的
也很显然程序中存在着很严重的问题
比如:girl.感情++; 一句。没有对数据进行封装,“感情”应该是作为girl类的一个私有数据成员,不能直接引用,否则不就成了C了吗?

还有程序中没有良好的编程风格,这给阅读带来一些困难

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.