acs20 0 Denunciar post Postado Abril 7, 2012 Boa noite pessoal, Então estou programando em c e preciso intercalar 3 arquivos textos, porem estou com uns probleminhas, então o negócio eu tenho 3 arquivos textos onde cadastro neles o código, o nome, a raça e o pais do animal porem os animais em cada um dos 3 arquivos estão ordenados pelo código e então tenho que passa-los para um arquivos principal porem de maneira que eles fiquem ordenados. Então estou fazendo da seguinte maneira, pego um animal de menor código da primeira linha e ai ja passo pro arquivo principal porque os que estão abaixo nos 3 arquivos vão ter código maior que ele e ai caso o animal de menor código não esteja no arquivo 1, verifico se esta no segundo e se não esta verifico se esta no terceiro e a medida que vou descendo no arquivo vou fazendo esse procedimento, porem estou errando num ponto na função intercalar, mas to com dificuldade em consertar, então gostaria de um help, porque eu tenho quase certeza que o erro esta nesse trecho aqui if(cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } Porem não to tendo ideia de como consertar. Segue abaixo o código, quase que completo porque vão perceber que esta faltando, remover, contar porque tem chamadas para essas funções na main e coloquei sem porque as outras funções tão certas. #include<stdio.h> #include<stdlib.h> #include<string.h> void inserir(FILE* arq1, FILE* arq2, FILE* arq3, int x, int cod, char nome[50], char raca[50], char pais[50]) { if(x==1) { arq1=fopen("animal1.txt" , "at"); fprintf(arq1, "%i\n", cod); fprintf(arq1, "%s\n", nome); fprintf(arq1, "%s\n", raca); fprintf(arq1, "%s\n", pais); fclose(arq1); } if(x==2) { arq2=fopen("animal2.txt" , "at"); fprintf(arq2, "%i\n", cod); fprintf(arq2, "%s\n", nome); fprintf(arq2, "%s\n", raca); fprintf(arq2, "%s\n", pais); fclose(arq2); } if(x==3) { arq3=fopen("animal3.txt" , "at"); fprintf(arq3, "%i\n", cod); fprintf(arq3, "%s\n", nome); fprintf(arq3, "%s\n", raca); fprintf(arq3, "%s\n", pais); fclose(arq3); } } void imprimir(FILE* arq, FILE* arq1, FILE* arq2, FILE* arq3, int y) { int cod; char nome[50], raca[50], pais[50]; if(y==0) { arq=fopen("animal.txt" , "rt"); while(fscanf(arq, "%d\n", &cod)==1) { fscanf(arq, "%s\n", nome); fscanf(arq, "%s\n", raca); fscanf(arq, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq); } if(y==1) { arq1=fopen("animal1.txt" , "rt"); while(fscanf(arq1, "%d\n", &cod)==1) { fscanf(arq1, "%s\n", nome); fscanf(arq1, "%s\n", raca); fscanf(arq1, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq1); } if(y==2) { arq2=fopen("animal2.txt" , "rt"); while(fscanf(arq2, "%d\n", &cod)==1) { fscanf(arq2, "%s\n", nome); fscanf(arq2, "%s\n", raca); fscanf(arq2, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq2); } if(y==3) { arq3=fopen("animal3.txt" , "rt"); while(fscanf(arq3, "%d\n", &cod)==1) { fscanf(arq3, "%s\n", nome); fscanf(arq3, "%s\n", raca); fscanf(arq3, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq3); } } void intercalar(FILE* arq, FILE* arq1, FILE* arq2, FILE* arq3) { int cod1, cod2, cod3; char nome1[50], raca1[50], pais1[50], nome2[50], raca2[50], pais2[50], nome3[50], raca3[50], pais3[50]; arq=fopen("animal.txt" , "at"); arq1=fopen("animal1.txt" , "rt"); arq2=fopen("animal2.txt" , "rt"); arq3=fopen("animal3.txt" , "rt"); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); while(!feof(arq1) || !feof(arq2) || !feof(arq3)) { if(cod1<cod2 && cod1<cod3 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod2<cod1 && cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod1 && cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } if(feof(arq1)!=0) { if(cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } } if(feof(arq2)!=0) { if(cod1<cod3 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod3<cod1 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } } if(feof(arq3)!=0) { if(cod1<cod2 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod2<cod1 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } } if(feof(arq1)!=0 && feof(arq2)!=0) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } if(feof(arq1)!=0 && feof(arq3)!=0) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(feof(arq2)!=0 && feof(arq3)!=0) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } } fclose(arq); fclose(arq1); fclose(arq2); fclose(arq3); } int main( ) { FILE* arq, *arq1, *arq2, *arq3; int op; arq=fopen("animal.txt" , "wt"); fclose(arq); /*arq1=fopen("animal1.txt" , "wt"); fclose(arq1); arq2=fopen("animal2.txt" , "wt"); fclose(arq2); arq3=fopen("animal3.txt" , "wt"); fclose(arq3);*/ do { printf("Menu De Opcoes"); printf("\n1-Insere um novo animal"); printf("\n2-Imprimi arquivo"); printf("\n3-Conta os animais de um pais"); printf("\n4-Remove um animal"); printf("\n5-Intercalar os arquivos"); printf("\n6-Sair"); printf("\n\nForneca a opcao desejada: "); scanf("%i", & op); printf("\n"); switch(op) { case 1: { int cod, x; char nome[50], raca[50], pais[50]; printf("Forneca o arquivo a ser inserido o animal: "); scanf("%i", & x); printf("\nForneca o codigo do animal: "); scanf("%i", & cod); printf("Forneca o nome do animal: "); scanf("%s", nome); printf("Forneca a raca do animal: "); scanf("%s", raca); printf("Forneca o pais de origem do animal: "); scanf("%s", pais); inserir(arq1, arq2, arq3, x, cod, nome, raca, pais); printf("\n"); } break; case 2: { int y; printf("Forneca o arquivo a ser impresso: "); scanf("%i", & y); printf("\n"); imprimir(arq, arq1, arq2, arq3, y); printf("\n"); } break; case 3: { int cont; char p[50]; printf("Forneca o nome do pais para contar os animais: "); scanf("%s", p); cont=contar(arq, p); printf("O numero de animais do(a) %s e: %i", p, cont); printf("\n\n"); } break; case 4: { int c; printf("Forneca o codigo do animal a ser removido: "); scanf("%i", & c); remover(arq, c); printf("\n"); } case 5: { intercalar(arq, arq1, arq2, arq3); printf("\n"); } break; case 6: return 0; default: break; } } while(op!=6); fflush(arq); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Abril 8, 2012 Por favor, use a tag code. Edite a mensagem para incluí-la. Compartilhar este post Link para o post Compartilhar em outros sites
acs20 0 Denunciar post Postado Abril 9, 2012 Foi mau, é que coloquei meio na pressa e esqueci da tag code guidjos. Então estou programando em c e preciso intercalar 3 arquivos textos, porem estou com uns probleminhas, então o negócio eu tenho 3 arquivos textos onde cadastro neles o código, o nome, a raça e o pais do animal porem os animais em cada um dos 3 arquivos estão ordenados pelo código e então tenho que passa-los para um arquivos principal porem de maneira que eles fiquem ordenados. Então estou fazendo da seguinte maneira, pego um animal de menor código da primeira linha e ai ja passo pro arquivo principal porque os que estão abaixo nos 3 arquivos vão ter código maior que ele e ai caso o animal de menor código não esteja no arquivo 1, verifico se esta no segundo e se não esta verifico se esta no terceiro e a medida que vou descendo no arquivo vou fazendo esse procedimento, porem estou errando num ponto na função intercalar, mas to com dificuldade em consertar, então gostaria de um help, porque eu tenho quase certeza que o erro esta nesse trecho aqui if(cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } Porem não to tendo ideia de como consertar. Segue abaixo o código, quase que completo porque vão perceber que esta faltando, remover, contar porque tem chamadas para essas funções na main e coloquei sem porque as outras funções tão certas. #include<stdio.h> #include<stdlib.h> #include<string.h> void inserir(FILE* arq1, FILE* arq2, FILE* arq3, int x, int cod, char nome[50], char raca[50], char pais[50]) { if(x==1) { arq1=fopen("animal1.txt" , "at"); fprintf(arq1, "%i\n", cod); fprintf(arq1, "%s\n", nome); fprintf(arq1, "%s\n", raca); fprintf(arq1, "%s\n", pais); fclose(arq1); } if(x==2) { arq2=fopen("animal2.txt" , "at"); fprintf(arq2, "%i\n", cod); fprintf(arq2, "%s\n", nome); fprintf(arq2, "%s\n", raca); fprintf(arq2, "%s\n", pais); fclose(arq2); } if(x==3) { arq3=fopen("animal3.txt" , "at"); fprintf(arq3, "%i\n", cod); fprintf(arq3, "%s\n", nome); fprintf(arq3, "%s\n", raca); fprintf(arq3, "%s\n", pais); fclose(arq3); } } void imprimir(FILE* arq, FILE* arq1, FILE* arq2, FILE* arq3, int y) { int cod; char nome[50], raca[50], pais[50]; if(y==0) { arq=fopen("animal.txt" , "rt"); while(fscanf(arq, "%d\n", &cod)==1) { fscanf(arq, "%s\n", nome); fscanf(arq, "%s\n", raca); fscanf(arq, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq); } if(y==1) { arq1=fopen("animal1.txt" , "rt"); while(fscanf(arq1, "%d\n", &cod)==1) { fscanf(arq1, "%s\n", nome); fscanf(arq1, "%s\n", raca); fscanf(arq1, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq1); } if(y==2) { arq2=fopen("animal2.txt" , "rt"); while(fscanf(arq2, "%d\n", &cod)==1) { fscanf(arq2, "%s\n", nome); fscanf(arq2, "%s\n", raca); fscanf(arq2, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq2); } if(y==3) { arq3=fopen("animal3.txt" , "rt"); while(fscanf(arq3, "%d\n", &cod)==1) { fscanf(arq3, "%s\n", nome); fscanf(arq3, "%s\n", raca); fscanf(arq3, "%s\n", pais); printf("Codigo: %i\n", cod); printf("Nome: %s\n", nome); printf("Raca: %s\n", raca); printf("Pais: %s\n", pais); } fclose(arq3); } } void intercalar(FILE* arq, FILE* arq1, FILE* arq2, FILE* arq3) { int cod1, cod2, cod3; char nome1[50], raca1[50], pais1[50], nome2[50], raca2[50], pais2[50], nome3[50], raca3[50], pais3[50]; arq=fopen("animal.txt" , "at"); arq1=fopen("animal1.txt" , "rt"); arq2=fopen("animal2.txt" , "rt"); arq3=fopen("animal3.txt" , "rt"); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); while(!feof(arq1) || !feof(arq2) || !feof(arq3)) { if(cod1<cod2 && cod1<cod3 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod2<cod1 && cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod1 && cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } if(feof(arq1)!=0) { if(cod2<cod3 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(cod3<cod2 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } } if(feof(arq2)!=0) { if(cod1<cod3 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod3<cod1 && !feof(arq3)) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } } if(feof(arq3)!=0) { if(cod1<cod2 && !feof(arq1)) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } if(cod2<cod1 && !feof(arq2)) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } } if(feof(arq1)!=0 && feof(arq2)!=0) { fprintf(arq, "%i\n", cod3); fprintf(arq, "%s\n", nome3); fprintf(arq, "%s\n", raca3); fprintf(arq, "%s\n", pais3); fscanf(arq3, "%i\n", &cod3); fscanf(arq3, "%s\n", nome3); fscanf(arq3, "%s\n", raca3); fscanf(arq3, "%s\n", pais3); } if(feof(arq1)!=0 && feof(arq3)!=0) { fprintf(arq, "%i\n", cod2); fprintf(arq, "%s\n", nome2); fprintf(arq, "%s\n", raca2); fprintf(arq, "%s\n", pais2); fscanf(arq2, "%i\n", &cod2); fscanf(arq2, "%s\n", nome2); fscanf(arq2, "%s\n", raca2); fscanf(arq2, "%s\n", pais2); } if(feof(arq2)!=0 && feof(arq3)!=0) { fprintf(arq, "%i\n", cod1); fprintf(arq, "%s\n", nome1); fprintf(arq, "%s\n", raca1); fprintf(arq, "%s\n", pais1); fscanf(arq1, "%i\n", &cod1); fscanf(arq1, "%s\n", nome1); fscanf(arq1, "%s\n", raca1); fscanf(arq1, "%s\n", pais1); } } fclose(arq); fclose(arq1); fclose(arq2); fclose(arq3); } int main( ) { FILE* arq, *arq1, *arq2, *arq3; int op; arq=fopen("animal.txt" , "wt"); fclose(arq); /*arq1=fopen("animal1.txt" , "wt"); fclose(arq1); arq2=fopen("animal2.txt" , "wt"); fclose(arq2); arq3=fopen("animal3.txt" , "wt"); fclose(arq3);*/ do { printf("Menu De Opcoes"); printf("\n1-Insere um novo animal"); printf("\n2-Imprimi arquivo"); printf("\n3-Conta os animais de um pais"); printf("\n4-Remove um animal"); printf("\n5-Intercalar os arquivos"); printf("\n6-Sair"); printf("\n\nForneca a opcao desejada: "); scanf("%i", & op); printf("\n"); switch(op) { case 1: { int cod, x; char nome[50], raca[50], pais[50]; printf("Forneca o arquivo a ser inserido o animal: "); scanf("%i", & x); printf("\nForneca o codigo do animal: "); scanf("%i", & cod); printf("Forneca o nome do animal: "); scanf("%s", nome); printf("Forneca a raca do animal: "); scanf("%s", raca); printf("Forneca o pais de origem do animal: "); scanf("%s", pais); inserir(arq1, arq2, arq3, x, cod, nome, raca, pais); printf("\n"); } break; case 2: { int y; printf("Forneca o arquivo a ser impresso: "); scanf("%i", & y); printf("\n"); imprimir(arq, arq1, arq2, arq3, y); printf("\n"); } break; case 3: { int cont; char p[50]; printf("Forneca o nome do pais para contar os animais: "); scanf("%s", p); cont=contar(arq, p); printf("O numero de animais do(a) %s e: %i", p, cont); printf("\n\n"); } break; case 4: { int c; printf("Forneca o codigo do animal a ser removido: "); scanf("%i", & c); remover(arq, c); printf("\n"); } case 5: { intercalar(arq, arq1, arq2, arq3); printf("\n"); } break; case 6: return 0; default: break; } } while(op!=6); fflush(arq); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
acs20 0 Denunciar post Postado Abril 9, 2012 guidjos era assim como ta acima que você falou pra fazer?, é que sou novo aqui e não conheço muito bem o fórum ainda. Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Abril 10, 2012 Assim mesmo. Pode clicar no botão Editar quando precisar consertar um post ;) Compartilhar este post Link para o post Compartilhar em outros sites
acs20 0 Denunciar post Postado Abril 10, 2012 Valeu guidjos, mais tu tem alguma ideia cara de como fazer isso? Compartilhar este post Link para o post Compartilhar em outros sites