Cadetto Entusiasta
03-02-2009, 16:42
Oggi ho ricopiato dal libro "C Corso completo di programmazione" di Deitel&Deitel il gioco d'azzardo proposto, ma non mi funziona; penso di averlo copiato pedestremente, l'ho ricontrollato due volte, ma non me lo fa partire. Mi sapreste dire cosa c'è che non va?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* Non funziona */
enum status;
int rolldice (void);
int main()
{
int sum, MyPoint;
enum Status gameStatus;
srand(time(NULL));
sum = rollDice();
switch (sum)
{
case 7:
case 11:
gameStatus = WON;
break;
case 2:
case 3:
case 12:
gameStatus = LOST;
break;
default:
gameStatus = CONTINUE;
myPoint = sum;
printf(" Point is %d \n", myPoint);
break;
}
while (gamStatus == CONTINUE)
{
sum = rollDice();
if (sum == myPoint)
{
gameStatus = WON;
}
else
{
if (sum == 7)
{
gameStatus = LOST;
}
}
}
if (gameStatus == WON)
{
printf(" Player wins \n");
}
else
{
printf(" Player loses \n");
}
return 0;
}
int rollDice (void)
{
int die1;
int die2;
int workSum;
die1 = 1 + (rand() % 6);
die2 = 1 + (rand() % 6);
workSum = die1 + die2;
printf(" Player rolled %d + %d = %d \n", die1, die2, workSum);
return workSum;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* Non funziona */
enum status;
int rolldice (void);
int main()
{
int sum, MyPoint;
enum Status gameStatus;
srand(time(NULL));
sum = rollDice();
switch (sum)
{
case 7:
case 11:
gameStatus = WON;
break;
case 2:
case 3:
case 12:
gameStatus = LOST;
break;
default:
gameStatus = CONTINUE;
myPoint = sum;
printf(" Point is %d \n", myPoint);
break;
}
while (gamStatus == CONTINUE)
{
sum = rollDice();
if (sum == myPoint)
{
gameStatus = WON;
}
else
{
if (sum == 7)
{
gameStatus = LOST;
}
}
}
if (gameStatus == WON)
{
printf(" Player wins \n");
}
else
{
printf(" Player loses \n");
}
return 0;
}
int rollDice (void)
{
int die1;
int die2;
int workSum;
die1 = 1 + (rand() % 6);
die2 = 1 + (rand() % 6);
workSum = die1 + die2;
printf(" Player rolled %d + %d = %d \n", die1, die2, workSum);
return workSum;
}