emigidio
Bovino de alcurnia
- Desde
- 8 Oct 2007
- Mensajes
- 2.689
- Tema Autor
- #1
Primero que nada buenas compañeros bakunos, pues bien les planteo mi problema:
Resulta que tengo que hacer un programa que simule el juego del poker en un baraja inglesa y calcular las diferentes convinaciones que me salen en cada partida, el problema lo entiendo a la perfeccion y ya tengo un avance en mi codigo que les presento a continuacion:
Ahora el problema es que no me corre el problema y no tengo ningun problema de sintaxtis y solo me arroga el error siguiente:
[Linker error] undefined reference to `mostrar'
Y la verdad no entiendo muy bien el error así que recurro a ustedes para que me digan cual es el error y que debo hacer para solucionarlo.
Espero me puedan ayudar, gracias!
Resulta que tengo que hacer un programa que simule el juego del poker en un baraja inglesa y calcular las diferentes convinaciones que me salen en cada partida, el problema lo entiendo a la perfeccion y ya tengo un avance en mi codigo que les presento a continuacion:
Código:
#include <conio.h>
#include <stdio.h>
#define MAX_CAR 52
#define MAX_PLAYER 5
#define MAX_CAR_PLAYER 10
typedef enum PaloTAG
{
corazones,
diamantes,
picas,
treboles,
}TPalo;
typedef struct CartasTAG
{
TPalo palo;
int carta;
}TCarta;
typedef TCarta Baraja[MAX_CAR];
char preguntar ( char *pregunta );
void jugar ( void );
void barajear ( Baraja baraja );
void intercambiar (TCarta *pos_01, TCarta *pos_02);
void mostrarC( TCarta carta );
void mostrarB ( Baraja baraja );
int main(void)
{
char comenzar;
comenzar = preguntar("Estas listo para jugar[S/N]?: ");
if(comenzar =='s' || comenzar == 'S')
{
jugar();
//printf("comienza el juego");
getch();
}
//salir();
printf("termina el juego");
getch();
return;
}
char preguntar (char *pregunta)
{
char res;
printf("%s ", pregunta);
scanf("%c",&res);
return res;
}
void jugar ( void )
{
Baraja baraja;
barajear(baraja);
mostrar(baraja);
//convinacion();
}
void barajear ( Baraja baraja )
{
int barajear, pos_01, pos_02;
int i, cambio;
/*printf("Numero de veces a barajear la carta: ");
scanf("%i",&barajear);*/
srand(time(NULL));
cambio = 20+(rand() % 1000);
for(i=0; i<cambio; i++)
{
pos_01 = rand() % MAX_CAR;
pos_02 = rand() % MAX_CAR;
intercambiar( &(baraja[pos_01]), &(baraja[pos_02]) );
}
}
void intercambiar (TCarta *pos_01, TCarta *pos_02)
{
TCarta aux;
aux = *pos_01;
*pos_01 = *pos_02;
*pos_02 = aux;
}
void mostrarC( TCarta cartas )
{
//TCarta cartas;
switch(cartas.carta)
{
case 1:
printf("As de ");
break;
case 11:
printf("Jack (J) de ");
break;
case 12:
printf("Reina (Q) de ");
break;
case 13:
printf("Rey (K) de ");
break;
default:
printf("%i de ",cartas.carta);
}
switch(cartas.palo)
{
case corazones:
printf("corazones\n");
break;
case diamantes:
printf("diamantes\n");
break;
case picas:
printf("picas\n");
break;
default:
printf("treboles\n");
}
}
void mostrarB ( Baraja baraja )
{
int i,j;
for (i=1; i<=MAX_PLAYER; i++)
{
printf("Cartas de jugador_0%\n\n",i);
for(j=1; j<=MAX_CAR_PLAYER; j++)
{
mostrarC(baraja[j]);
}
}
}
Ahora el problema es que no me corre el problema y no tengo ningun problema de sintaxtis y solo me arroga el error siguiente:
[Linker error] undefined reference to `mostrar'
Y la verdad no entiendo muy bien el error así que recurro a ustedes para que me digan cual es el error y que debo hacer para solucionarlo.
Espero me puedan ayudar, gracias!
