Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Paola1509 en 4 Noviembre 2017, 17:55 pm



Título: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: Paola1509 en 4 Noviembre 2017, 17:55 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <ctype.h>
  5. #include <conio.h>
  6.  
  7. #define ENTER 13
  8.  
  9. enum Estatus { CONTINUA, GANA, PIERDE };
  10. int dados(void);
  11. int main()
  12. {
  13. int suma,puntuacion ,cantjuego= 0, cantgan = 0, cantperd =0;
  14. char seguir= 's' ;
  15. do {
  16. printf("%cBienvenido al juego Craps!.\n",173);
  17. printf("Presione la ENTER para lanzar los dados.\n");
  18. switch (getch())
  19. {
  20. case ENTER:
  21. break;
  22. }
  23. enum Estatus estatusJuego;
  24. srand( time( NULL ) );
  25. cantjuego++;
  26. suma = dados();
  27. switch( suma )
  28. {
  29. case 7:
  30. case 11:
  31. estatusJuego = GANA;
  32. break;
  33. case 2:
  34. case 3:
  35. case 12:
  36. estatusJuego = PIERDE;
  37. break;
  38. default:
  39. estatusJuego = CONTINUA;
  40. puntuacion = suma;
  41. printf( "Tu puntuacion es: %d\n", puntuacion );
  42. break;
  43. }
  44. while ( estatusJuego == CONTINUA )
  45. {
  46. suma = dados();
  47. if ( suma == puntuacion )
  48. {
  49. estatusJuego = GANA;
  50. }
  51. else
  52. {
  53. if ( suma == 7 )
  54. {
  55. estatusJuego = PIERDE;
  56. }
  57. }
  58. }
  59. if ( estatusJuego == GANA )
  60. {
  61. printf( "Gana el jugador\n" );
  62. cantgan++;
  63. }
  64. else
  65. {
  66. printf( "Pierde el jugador\n" );
  67. cantperd++;
  68. }
  69. return 0;
  70. int dados( void )
  71. {
  72. int dado1;
  73. int dado2;
  74. int sumaTemp;
  75. dado1 = 1 + ( rand() % 6 );
  76. dado2 = 1 + ( rand() % 6 );
  77. sumaTemp = dado1 + dado2;
  78. printf( "El jugador tiro %d + %d = %d\n", dado1, dado2, sumaTemp );
  79. return sumaTemp;
  80. }
  81. printf("%cDesea volver a jugar? (s)i o (n)o...\n",168);
  82. do{
  83. seguir = tolower(getche());
  84. }while (seguir!= 's' && seguir != 'n');
  85. }while (seguir == 's');
  86. printf("\nJuegos jugados: %2d\n",cantjuego);
  87. printf("Juegos ganados: %2d\n",cantgan);
  88. printf("\nJuegos perdidos: %2d\n", cantperd);
  89. return 0;
  90. }
  91.  


· Los códigos deben ir en etiquetas GeSHi
· No hagas doble post
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: CalgaryCorpus en 4 Noviembre 2017, 17:58 pm
que tal si cierras la llave despues de return 0; y antes de int dados() ?


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: Paola1509 en 4 Noviembre 2017, 18:08 pm
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


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: JavierScars en 4 Noviembre 2017, 22:13 pm
Por favor coloca tu código legible... No es fácil leer código ajeno y menos si se coloca así


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: Paola1509 en 4 Noviembre 2017, 23:03 pm
No comprendo a que te refieres, me parecia que estaba claro, como sugieres que lo coloque?


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: josue9243 en 4 Noviembre 2017, 23:05 pm
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... )

Código:
#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;
}


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: Paola1509 en 4 Noviembre 2017, 23:13 pm
josue9243, QUE GROSERO!, solo pedia ayuda, no habia necesidad de ofenderme :) Si no puedes o no quieres ayudar vete con tu mala vibra


Título: Re: Mi programa no compila. me da un error de, undefined reference to dados, AYUDAAA
Publicado por: WHK en 4 Noviembre 2017, 23:21 pm
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.