Re: help with c++ if test

  • From: "Littlefield, Tyler" <tyler@xxxxxxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Wed, 09 Feb 2011 12:24:11 -0700

>If you know how to use it why do you need help?
ken++
On 2/9/2011 12:20 PM, Ken Perry wrote:

If you know how to use it why do you need help?

ken

*From:*programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of *Kristoffer Gustafsson
*Sent:* Wednesday, February 09, 2011 2:17 PM
*To:* programmingblind@xxxxxxxxxxxxx
*Subject:* Re: help with c++ if test

Hi.

Yes, I've heard that goto is bad a lot of times. But it is goto that I know how it works, and I'll use goto in my text games.

So can you please help me to see what is wrong with the code I sent?

I want to jump between labels with goto.

/Kristoffer

    ----- Original Message -----

    *From:*Sina Bahram <mailto:sbahram@xxxxxxxxx>

    *To:*programmingblind@xxxxxxxxxxxxx
    <mailto:programmingblind@xxxxxxxxxxxxx>

    *Sent:*Wednesday, February 09, 2011 8:10 PM

    *Subject:*RE: help with c++ if test

    Yes, regardless, goto is bad.

    But absolutely you can break out of the inner loop, but then
    you'll be in the top level loop, in which you can do a conditional.

    This is still more efficient, since it is definitionally true that
    you would do a check in the inner loop before your goto, and if
    you are doing a check in the inner loop, then that means you are
    doing a check M*n times, where m and n are the dimensions of the
    outer and inner loops, respectively.

    If you remove that, and simply do the check in the outer loop,
    then you are only doing a check m times, which is an entire order
    of complexity better.

    Goto is bad. This is the one rule where because I say so and other
    inane excuses from teachers is acceptable. Goto is just bad. There
    is no reason, none, what-so-ever, that you need one.

    Now, if we get into kernel programming where assembler is being
    linked in, etc, etc, then we can talk ... but in something as
    straight forward and earth shatteringly simple as the logic for an
    adventure game? Goto is absolutely in no way necessary under any
    possibly conceivable permutations.

    Take care,

    Sina

    *From:*programmingblind-bounce@xxxxxxxxxxxxx
    [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of
    *Littlefield, Tyler
    *Sent:* Wednesday, February 09, 2011 2:05 PM
    *To:* programmingblind@xxxxxxxxxxxxx
    *Subject:* Re: help with c++ if test

    Sina:
    Break is awesome when you have one single loop, but you can't
    break out of two loops, can you? It was just the first thing that
    came to mind because I've seen it used (and used it) like that.

    On 2/9/2011 11:50 AM, Sina Bahram wrote:

    tyler, this is a horrible example of goto, my friend.

    That's what break is for.

    Take care,

    Sina

    *From:* programmingblind-bounce@xxxxxxxxxxxxx
    <mailto:programmingblind-bounce@xxxxxxxxxxxxx>
    [mailto:programmingblind-bounce@xxxxxxxxxxxxx] *On Behalf Of
    *Littlefield, Tyler
    *Sent:* Wednesday, February 09, 2011 1:17 PM
    *To:* programmingblind@xxxxxxxxxxxxx
    <mailto:programmingblind@xxxxxxxxxxxxx>
    *Subject:* Re: help with c++ if test

    I really really highly recommend you avoid goto. This isn't basic,
    and they're not very useful except for in some odd cases, far and
    few between. Such as jumping out of two nested loops like so:
    int i, j;
    for (i = 0; i < 100; i++)
    {
    for (j = 0; j < 100; j++)
    {
    if (i+j == 100)
    goto botttom;
    }
    }
    bottom:
    //do something here
    if you want to compare strings, do something like this:
    if (input == "north")
    {
    GoNorth();
    }
    else if (input == "south")
    ...
    else ...



    On 2/9/2011 10:52 AM, Kristoffer Gustafsson wrote:

    Hi.

    I'm writing if tests in c++ with the goto command.

    I want to do text games and I'm using these commands for that.

    But it doesn't work, so I must do something wrong.

    Can you give me an example how this is done with a string please?

    /Kristoffer



    --

    Thanks,

    Ty




    --

    Thanks,

    Ty



--

Thanks,
Ty

Other related posts: