[C] un pequeño error. [Solucionado]

Iniciado por STANHMAL, 6 Julio 2010, 02:01 AM

0 Miembros y 1 Visitante están viendo este tema.

STANHMAL

Holas

Primero el Code después explico:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

enum Estatus {continua, gana, pierde};

int tiradados(void);

int main()
{
int suma, punto;
enum Estatus juego;

srand(time(NULL));

suma = tiradados();

switch(suma) {
case 7:
case 11:
juego = gana;
break;

case 2:
case 3:
case 12:
juego = pierde;
break;

default:
juego = continua;
punto = suma;
printf("Su punto es: %d\n", punto);
break;
}

while (juego == gana) {
suma = tiradados;

if (suma == punto) {
juego = gana;
}
else {
if (suma == 7) {
juego = pierde;
}
}
}

if (juego == gana) {
printf("Ganaste; Felicitaciones 8D\n");
}
else {
printf("Perdiste; Mejor suerte para la proxima.\n");
}

return 0;
}

int tiradados(void)
{

int dado1, dado2, sumada;

dado1 = 1 + (rand() % 6);
dado2 = 1 + (rand() % 6);
sumada = dado1 + dado2;

printf("Tiraste: %d + %d = %d\n", dado1, dado2, sumada);

return sumada;
}


Se supone que este es el juego craps.

El problema viene siendo, que cuando gano no me sale el mensaje de que gane, solamente se queda ahí; Tampoco cuando me sale un número diferente a 1, 2, 3, 11, y 12, no me deja seguir tirando, me dice, perdiste.
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red

do-while

¿Es posible que haya por ahi algun bucle infinito?  :silbar:

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

STANHMAL

 :-X

ya encontré el error.

modifique esto:


while (juego == gana) {
suma = tiradados;


por esto:


while (juego == continua) {
suma = tiradados();


:rolleyes:

Gracias por responder.

$4!u2
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red

.:BlackCoder:.

Ta feito el codigo y no consco ese juego pero pes... una de las cosas que vi es que hay una parte en la que llamas a una funcion sin  ponerle los ()

Saludos

EDITO
Q bueno q te diste cuenta  :)
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja