请指点一下这段代码.C++大学教程中的例题.

// Fig. 3.10: fig03_10.cpp
// Craps
#include <iostream.h>
#include <stdlib.h>
#include <time.h>

int rollDice( void ); // function prototype

int main()
{
enum Status { CONTINUE, WON, LOST };
int sum, myPoint;
Status gameStatus;

srand( time( NULL ) );
sum = rollDice(); // first roll of the dice

switch ( sum ) {
case 7:
case 11: // win on first roll
gameStatus = WON;
break;
case 2:
case 3:
case 12: // lose on first roll
gameStatus = LOST;
break;
default: // remember point
gameStatus = CONTINUE;
myPoint = sum;
cout << "Point is " << myPoint << endl;
break; // optional
}

while ( gameStatus == CONTINUE ) { // keep rolling
sum = rollDice();

if ( sum == myPoint ) // win by making point
gameStatus = WON;
else
if ( sum == 7 ) // lose by rolling 7
gameStatus = LOST;
}

if ( gameStatus == WON )
cout << "Player wins" << endl;
else
cout << "Player loses" << endl;

return 0;
}

int rollDice( void )
{
int die1, die2, workSum;

die1 = 1 + rand() % 6;
die2 = 1 + rand() % 6;
workSum = die1 + die2;
cout << "Player rolled " << die1 << " + " << die2
<< " = " << workSum << endl;

return workSum;
}
以下是书上说的这些代码的功能。
每个骰子有六面,这些面包含1,2,3,4,5,6个点。投两枚骰子之后,计算点数之和。如果第一次投时的和为7或11,则游戏者获胜。如果第一次投时的和是2,3或12,则游戏者输,庄家赢。如果第一次投时的和为4,5,6,8,9或10,则这个和成为游戏者的点数。要想赢,就要继续投骰子,直到赚到点数。如果投七次之后还没有赚到点数,则游戏者输。

但while ( gameStatus == CONTINUE ) { // keep rolling
sum = rollDice();

if ( sum == myPoint ) // win by making point
gameStatus = WON;
else
if ( sum == 7 ) // lose by rolling 7
gameStatus = LOST;
这段的功能根就不对,弄的我想了好长时间。结果是我对了。
[2042 byte] By [clack234-Byron] at [2008-4-10]
# 1
我觉得书上的注释已很清楚了
guyanhong at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 2
什么代码?

if ( sum == 7 ) // lose by rolling 7
gameStatus = LOST;

sum是代表投的次数吗?好象是累计骰子的点数的吧
rockhard-不签名 at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 3
肯定是代码错了
rockhard-不签名 at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 4
书上的代码错了!
sokoban at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 5
确信无疑,书上的代码是错误的
# 6
书上是错的我学的时候也是
johnmack-爱若琴弦 at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 7
书上的代码是对的,题目最后一句翻译错误
应译为:继续投的过程中,投出的和为7,则游戏者输
ttwy-摩佧 at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 8
书上的是错的
照它那样说那个sum 应该既是次数又是点数
angiekwok-阿铁 at 2007-10-24 > top of Msdn China Tech,C/C++,C语言...
# 9
又是一个不眠夜,Codefund要戒严了。记得葛优(演的一个人物)曾经说过:“……什么人都可以惹,唯独小人不能沾。”初春的一场小雪,纷纷扬扬地下着,掩饰了大地,掩盖了一切人间的罪恶。上帝说:“有阳光就有黑暗,有善举就有罪过。饶恕他吧。”