Jump to content
David Rego

Estruturas com ponteiros para caracter

Recommended Posts

David Rego

Boa tarde,

tenho a seguinte estrutura:

typedef struct jogos jogo,*pjogo;

struct jogos{
int *ult_jogada;
char *jogadores;
float status;
int total_jogadores;
int lin,col;
int vez;
int flag_perde;
pjogo prox_j;
};

Quero pedir um número de jogadores ao utilizador para depois introduzir os seus nomes no char *jogadores usando a função malloc.

Eu fiz:  malloc(sizeof(char)*40*num_jogadores) -> querendo 40 caracteres para cada nome.

como faço para fazer o scanf ou gets de cada nome do jogador, assim como o apresentar no ecra?

Toda a ajuda é aceite :thumbsup:

Share this post


Link to post
Share on other sites
David Rego

Também já pensei em criar outra estrutura para os nomes dos jogadores:

typedef struct jogadores jogador,*pjog;
struct jogadores{
char nome[50];
float status;
int total;
pjog prox;
};

//E depois inserir um ponteiro para a estrutura dos jogadores, do genero...

struct jogos{
int *ult_jogada;
char *jogadores;
float status;
int total_jogadores;
int lin,col;
int vez;
int flag_perde;
pjogo prox_j;
// -> pjog prox_jdr;
};

mas mesmo assim não estou a conseguir aceder...

Share this post


Link to post
Share on other sites
KiNgPiTo

O que tens é uma só string para o jogadores (ou seja, só guardas um nome)...

Ou crias um array de tamanho fixo para jogadores: char *jogadores[100];

Ou se quiseres com tamanho dinamico podes usar uma lista ligada para os jogadores:

typedef struct jogos jogo,*pjogo;

typedef struct sJogadores{
        char *nome;
        struct sJogadores *prox;
} NJogadores, *LJogadores;

struct jogos{
        int *ult_jogada;
        LJogadores jogadores;
        float status;
        int total_jogadores;
        int lin,col;
        int vez;
        int flag_perde;
        pjogo prox_j;
};

EDIT: Antecipaste-te mas a resposta mantém-se...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.