Ir para conteúdo
Fórum Script Brasil

Eduardo de Conto

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Eduardo de Conto

Perfil

  • Gender
    Male

Eduardo de Conto's Achievements

0

Reputação

  1. Olá! Estou tentando criar um programa em C que a partir de um arquivo bolsista1.cad gere um versão randômica dele usando como "critério de organização" o código do bolsista -1(para ocupar a posição 0 do arquivo). Todavia, o código que elaborei não está funcionando e não estou conseguindo resolver o problema. Por favor, ajudem-me a corrigir o problema desse código. Segue-o abaixo. Muito obrigado! Eduardo F. de Conto. P.S: Estou usando o compilador DEV-C++. struct data { int codigo; char nome[TEXTO]; int tipo_bolsa; char email [TEXTO]; }; struct modif { int codigo; char nome[TEXTO]; int tipo_bolsa; char email [TEXTO]; int mes_venc; int ano_venc; }; void Conv_Randomica (FILE *, FILE *, struct data *, struct modif *, int); void Listagem1 (FILE *, struct data); void Listagem2 (FILE *, struct modif); int main() { struct data buffer; struct modif buffer2; if((arq = fopen("bolsista1.dat", "rb"))==NULL){ printf("Erro ao abrir o arquivo bolsista1.dat.\n"); system("PAUSE"); } if (!(arq2 = fopen("bolsista2.dat", "wb"))){ printf("Erro ao criar o arquivo bolsista2.dat.\n"); system("PAUSE"); } else{ Listagem1(arq, buffer); rewind(arq); Conv_Randomica(arq, arq2, &buffer, &buffer2, COD); rewind(arq2); Listagem2(arq2, buffer2); fclose(arq2); system("PAUSE"); return 0; } } void Conv_Randomica (FILE *arq, FILE *arq2, struct data *buffer, struct modif *buffer2, int cod) { int i; if((arq = fopen("bolsista1.dat", "rb+"))==NULL){ printf("Erro ao abrir o arquivo bolsista1.dat.\n"); system("PAUSE"); } for(i=1; i < cod; i++){ while (fread(buffer, sizeof(struct data), 1, arq)){ printf("pos:%d", ftell(arq)); if(buffer -> codigo == i){ buffer2 -> codigo = buffer ->codigo; (buffer2 -> codigo)--; strcpy(buffer2 ->nome, buffer -> nome); buffer2 -> tipo_bolsa = buffer->tipo_bolsa; strcpy(buffer2 -> email, buffer-> email); buffer2 -> mes_venc = buffer2 -> ano_venc = 0; fwrite (buffer2, sizeof(buffer2), 1, arq2); } } } }
×
×
  • Criar Novo...