Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Asskiller

Manipulaçao de Arquivos Inicializacao de Dados

Recommended Posts

int gerar2arquivo (void)
{
    FILE *fp = NULL;
    if (!(fp = fopen ("casos.bin", "rb")))
        return 1; // arquivo inexistente.
    
    else
    {
        FILE *fp2 = NULL;
        fp2 = fopen ("SituacaoCidade.bin", "wb");
        int i = 0;
        while ((i <= 10) &&  (fread (&criador, sizeof(Case), 1, fp)))
        {
            fwrite (&criador, sizeof(Case), 1, fp2);
            i++;
            printf("Casos Ocorridos: %d",i);
            printf("\nCodigo: %i\nDescricao: %s\nNumero de casos: %i\n",criador.violencia,criador.violenciadr,criador.casos);
        }
        
        fclose (fp);
        fclose (fp2);
    }
        

Ta exibindo normalmente , porem , a variavel de limitação i nao esta funcionando , creio que tera que fazer alguma condiçao.

 

Continua a exibir 11 casos , se eu inserir 11 casos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neelix , falei com a professora e eis o que ela me passa da Letra D

 

 

 

No seu arquivo inicial, foram gravadas informações não sequenciais e sem a preocupação de não haver repetição.
O que é pedido, é que você totalize, por código, cada uma das ocorrências.
Na última aula que você foi, eu expliquei isso diversas vezes. Acredito que a Lo tenha copiado alguma coisa. Ensinei e escrevi como fazer com vetor ou com matriz.
O que você não entendeu exatamente da letra D? Pelo que vi, você copia - ou tenta - copiar um arquivo para dentro do outro. Não é isso que foi pedido e sim a totalização, como expliquei acima!

 

Totalização , nao compreendi muito bem...

 

Estarei vendo com ela e lhe informo aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o que ela queria neelix :

 

int gerar2arquivo (void)
{
    FILE *fp = NULL;
    FILE *fp2 = NULL;
    int j,opt;
    j = 0;
    if (!(fp = fopen ("casos.bin", "rb"))) // cria o arquivo para leitura
        return 1; // arquivo inexistente.
    
    else
    {
        fp2 = fopen ("SituacaoCidade.bin", "wb");// w+
        while (fread (&criador, sizeof(Case), 1, fp) == 1){
            j++;
            opt += criador.casos;
        }
            printf("Existe %d tipos de violencia:\n",j);
            printf("Totalizando %d casos totais.\n",opt);//total
            fwrite(&criador,sizeof(struct Case),1,fp2);
    }
        fclose (fp);
        fclose (fp2);
    return 0;
}             

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.