Asskiller 4 Denunciar post Postado Junho 17, 2013 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
reebr 94 Denunciar post Postado Junho 17, 2013 Eu havia inicializado ela com 0, então mostrará 11 resultados mesmo. Basta mudar de i <= 10 para i < 10 Compartilhar este post Link para o post Compartilhar em outros sites
Asskiller 4 Denunciar post Postado Junho 18, 2013 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
Asskiller 4 Denunciar post Postado Junho 18, 2013 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