El problema es el siguiente estoy desarrollando una función "baraja" con la librería de time.h y otra función que es la imagen de las cartas. para así crear lo que seria la baraja de un juego que estoy programando.
A la hora de llamar a las funciones y ejecutar dicho código la función baraja me imprime siempre el mismo numero en el player 1 y el player 2. ¿Cómo puedo arreglar esto para que me imprima 2 números diferentes en el player 1 y el player 2?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
//FUNCIONES
void imagen_carta(int n);
void baraja (int *n);
int main(){
int n, a, aux1, aux2;
printf ("El player1 saco la carta:\n");
baraja(&n);
imagen_carta (n);
aux1=n;
printf ("El player2 saco la carta:\n");
baraja(&n);
imagen_carta (n);
aux2=n;
}
void imagen_carta(int n){
for (int i = 1; i <= 7; i++){ // dibujar la i-esima fila
if (i==1||i==7){
for (int j = 1; j <= 9; j++)
printf(".");
printf("\n");
}
else{
if(i==4){
for (int b = 1; b <= 2; b++){
printf(".");
if(b<2){
for(int j=1;j<=1 ;j++){
printf(" %d ", n);
}
}
else{
printf("\n");
}
}
}
else
{
for (int b = 1; b <= 2; b++){
printf(".");
if(b<2){
for(int j=1;j<=1 ;j++){
printf(" ");
}
}
else{
printf("\n");
}
}
}
}
}
}
void baraja (int *n) {
srand (time(NULL));
*n = (rand() % 9) + 1;
}