Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas na Alocação de Memória em C


jonasHenrique

Pergunta

Prezados,

Tenho que ler um arquivo de ponto, txt, com o seguinte layout:

nome;dia;turno1;turno2

turno1 e turno2 é um int, sendo que 1 trabalhou e 0 esteve ausente.

ex.:

João Paulo;1;1;1

Paulo;1;1;1

enfim, um txt que armazena dados neste formato.

O programa que tenho que concluir tem as seguintes structs:

//Estrutura utilizada para armazenar o ponto de um dia (turnos da manhã e noite)
typedef struct sPontoDia
{
    int iManha;
    int iTarde;
}
stPontoDia;

//Estrutura utilizada para armazenar os dados de um funcionário (nome e informações sobre os pontos)
typedef struct sDadosPonto
{
    char sNome[50];
    stPontoDia* vPontoDia;
}
stDadosPonto;
O problema todo é qeu tenho que fazer alocação de memória, de maneira que deverá rodar neste função:
void inicializa(void)
{    
    //Variáveis locais
    int iFuncionario=0, iDia=0;

    for (iFuncionario=0; iFuncionario < iQtdFuncionarios; iFuncionario++)
    {
        strcpy(prDadosPonto[iFuncionario].sNome,"");
        
        for (iDia = 0; iDia < iTotalDiasTrabalhados; iDia++)
        {  
            prDadosPonto[iFuncionario].vPontoDia[iDia].iManha = 0;
            prDadosPonto[iFuncionario].vPontoDia[iDia].iTarde = 0;
        }
    }
}
Atualmente estou detido porque naõ consigo sair da função que se encontra assim:
void alocaMemoria(void)
{
    // IMPLEMENTE AQUI
    int iFuncionario=0, iDia=0;

    for (iFuncionario=0; iFuncionario < ( iQtdFuncionarios * iTotalDiasTrabalhados ); iFuncionario++)
    {
        prDadosPonto = (stDadosPonto*)malloc(sizeof(stDadosPonto) );
        
        for (iDia = 0; iDia < iTotalDiasTrabalhados; iDia++)
        {
            prDadosPonto[iFuncionario].vPontoDia = ( stPontoDia*)malloc(sizeof(stPontoDia) );
        }
    }    
}

eu não estou entendendo direito, já que inicialmente a função "inicializa" está fazendo referencia a vPontoDia informando o dia, sendo que a struct contem somente os campos iManha e iTarde. Não entendo como pode fazer referência a prDadosPonto[iFuncionario].vPontoDia[ ISTO_AQUI ] !!!!

Por favor, me ajudem a inicializar esta lista!

Obrigado.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...