Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA

Iniciado por Paola1509, 4 Noviembre 2017, 17:55 PM

0 Miembros y 2 Visitantes están viendo este tema.

Paola1509

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

#define ENTER 13

enum Estatus { CONTINUA, GANA, PIERDE };
int dados(void);
int main()
{
int suma,puntuacion ,cantjuego= 0, cantgan = 0, cantperd =0;
char seguir= 's' ;
do {
printf("%cBienvenido al juego Craps!.\n",173);
printf("Presione la ENTER para lanzar los dados.\n");
switch (getch())
{
case ENTER:
break;
}
enum Estatus estatusJuego;
srand( time( NULL ) );
cantjuego++;
suma = dados();
switch( suma )
{
case 7:
case 11:
estatusJuego = GANA;
break;
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;
default:
estatusJuego = CONTINUA;
puntuacion = suma;
printf( "Tu puntuacion es: %d\n", puntuacion );
break;
}
while ( estatusJuego == CONTINUA )
{
suma = dados();
if ( suma == puntuacion )
{
estatusJuego = GANA;
}
else
{
if ( suma == 7 )
{
estatusJuego = PIERDE;
}
}
}
if ( estatusJuego == GANA )
{
printf( "Gana el jugador\n" );
cantgan++;
}
else
{
printf( "Pierde el jugador\n" );
cantperd++;
}
return 0;
int dados( void )
{
int dado1;
int dado2;
int sumaTemp;
dado1 = 1 + ( rand() % 6 );
dado2 = 1 + ( rand() % 6 );
sumaTemp = dado1 + dado2;
printf( "El jugador tiro %d + %d = %d\n", dado1, dado2, sumaTemp );
return sumaTemp;
}
printf("%cDesea volver a jugar? (s)i o (n)o...\n",168);
do{
seguir = tolower(getche());
}while (seguir!= 's' && seguir != 'n');
}while (seguir == 's');
printf("\nJuegos jugados: %2d\n",cantjuego);
printf("Juegos ganados: %2d\n",cantgan);
printf("\nJuegos perdidos: %2d\n", cantperd);
return 0;
}



· Los códigos deben ir en etiquetas GeSHi
· No hagas doble post
>aquí las reglas del foro
-Engel Lex

CalgaryCorpus

que tal si cierras la llave despues de return 0; y antes de int dados() ?
Aqui mi perfil en LinkedIn, invitame un cafe aqui

Paola1509

Si te refieres a despues de donde se imprime el mensaje de que el jugador pierde, ya lo intente y me sigue dando el mismo error

JavierScars

Por favor coloca tu código legible... No es fácil leer código ajeno y menos si se coloca así
Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.

Paola1509

No comprendo a que te refieres, me parecia que estaba claro, como sugieres que lo coloque?

josue9243

Sinceramente no sé para que me gaste en Tabular este código que no tiene pies ni cabeza.

Yo que ústedes no pierdo tiempo en esto porque ni si quiera copio bien el código para que lo revisemos. ( llaves mal cerradas, partes que le faltan condiciones... )


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

#define ENTER 13

enum Estatus { CONTINUA, GANA, PIERDE };
int dados(void);
int main()
{
int suma,puntuacion ,cantjuego= 0, cantgan = 0, cantperd =0;
char seguir= 's' ;
do {
printf("%cBienvenido al juego Craps!.\n",173);
printf("Presione la ENTER para lanzar los dados.\n");
switch (getch())
{
case ENTER:
break;
}
enum Estatus estatusJuego;
srand( time( NULL ) );
cantjuego++;
suma = dados();
switch( suma )
{
case 7:
case 11:
estatusJuego = GANA;
break;
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;
default:
estatusJuego = CONTINUA;
puntuacion = suma;
printf( "Tu puntuacion es: %d\n", puntuacion );
break;
}
while ( estatusJuego == CONTINUA )
{
suma = dados();
if ( suma == puntuacion )
{
estatusJuego = GANA;
}
else
{
if ( suma == 7 )
{
estatusJuego = PIERDE;
}
}
}
if ( estatusJuego == GANA )
{
printf( "Gana el jugador\n" );
cantgan++;
}
else
{
printf( "Pierde el jugador\n" );
cantperd++;
}

return 0;
}

int dados( void )
{
int dado1;
int dado2;
int sumaTemp;
dado1 = 1 + ( rand() % 6 );
dado2 = 1 + ( rand() % 6 );
sumaTemp = dado1 + dado2;

printf( "El jugador tiro %d + %d = %d\n", dado1, dado2, sumaTemp );
return sumaTemp;

}
printf("%cDesea volver a jugar? (s)i o (n)o...\n",168);
do
{
seguir = tolower(getche());
}
while (seguir!= 's' && seguir != 'n');
}
while (seguir == 's');

printf("\nJuegos jugados: %2d\n",cantjuego);
printf("Juegos ganados: %2d\n",cantgan);
printf("\nJuegos perdidos: %2d\n", cantperd);
return 0;
}

Paola1509

josue9243, QUE GROSERO!, solo pedia ayuda, no habia necesidad de ofenderme :) Si no puedes o no quieres ayudar vete con tu mala vibra

WHK

paola, lo mínimo que debes hacer si quieres ayuda es identar tu código. Antes de comenzar a programar cosas te recomiendo estudiar sobre identaciones y estilos de código de llaves foráneas.

Es como si estuvieras aprendiendo a conducir un vehículo y te enojas porque te dicen que estas presionando el acelerador en ves del freno. Por otro lado no creo que sea mala vibra, sino mas bien es parte de las normas del foro (que supongo tampoco has leido).

La próxima ves que vea que pides ayuda sin colorear el código utilizando las etiquetas de código, no identando o creando dos veces el mismo post, lo eliminaré sin previo aviso.

Antes de continuar pidiendo ayuda intenta por ti misma identar tu código y te darás cuenta de tus propias faltas.

Saludos.