1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Incrementação em C

Discussão em 'Programação' iniciada por Alma_Mater, 23 de Junho de 2012. (Respostas: 1; Visualizações: 539)

  1. Alma_Mater

    Alma_Mater Power Member

    Boas malta,

    Não consigo perceber o porque de o i não incrementar. Alguem me consegue ajudar?

    O codigo é:

    Código:
    void le_disponibilidades(int socket_fd)
    {
        int i,n,diatemp,contador=0;
        
        n=dc.ndias+1;
        
        FILE *temp;
        temp=fopen("disponibilidade.txt","r");
        
        printf("Os dias disponiveis são:\n\n");
        
        
        for(i=1;i<n;i++)
        {
            while(fscanf(temp,"%d",&diatemp)!=EOF)
            {
                if(i==diatemp)
                    contador++;
            }
            
            if(contador==0)
                printf("%d ",i);
        }
        
        fclose(temp);
    }
    Estou a utilizar o Ubuntu

    Agradeço desde já a ajuda.
     
  2. bte

    bte Power Member

    Qual é o output do ficheiro disponibilidade.txt (ou por outras palavras, qual é o seu conteudo)?

    Faz um output da varável 'n' e averigua o seu valor, se o i não encrementa é porque as instruções dentro do ciclo não são executadas (exemplo: for (1=1; 1<1; 1++)).

    EDIT: Não influência o problema mas podes colocar o for dentro do while, evitando leres o ficheiro todo em cada iteração (mas também vai depender do tamanho do ficheiro, para ficheiros muito grandes compensa mais o contrário).
     
    Última edição: 23 de Junho de 2012

Partilhar esta Página