Alexv ha scritto:
Puoi postare tutto il codice?
Essendo questo che sto postando, una parte di un programma più esteso, ci sono nomi che fanno riferimento ad altre strutture. Questo pezzo l'ho scritto in un file prova.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
typedef struct Mago {
char nome_mago[256];
char* c_mago;
char* seme_carta;
unsigned int punti_vita;
struct Carta* inizio_mazzo;
struct Carta* fine_mazzo;
struct Carta* mano[6];
struct Carta* campo[4];
}mago;
struct Mago* scelta_classe (struct Mago* pMago)
{
pMago = (struct Mago*) (malloc (sizeof(char*)));
pMago -> c_mago = NULL;
int scelta;
printf("Scegliere la classe del mago che si desidera essere: \n 1. tenembre \n 2. vita \n 3. luce \n\n");
scanf("%d", &scelta);
switch (scelta) {
case 1:
pMago -> c_mago = "tenebre";
break;
case 2:
pMago -> c_mago = "vita";
break;
case 3:
pMago -> c_mago = "luce";
break;
default:
printf("Errore: Scegli una classe valida \n");
}
free(pMago);
return pMago;
}
static void stampa_classe (struct Mago* pMago) {
printf("\nLa classe del mago è: %s \n", pMago -> c_mago );
}
int main () {
mago* pMago = scelta_classe (pMago);
stampa_classe (pMago);
}