Jump to content

taynielly

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About taynielly

  1. taynielly

    Manipulaçao de Arquivos.txt

    pessoal alguém pode me dar uma idéia sobre a questão abaixo. O assunto é arquivo, estou tentando fazer uma função para modificar(alterar) e excluir(remoçao) um registro do arquivo, porem nesse caso a funçao de modificar(alterar) esta dando erro. Castro de setores.txt #include <stdio.h> #include <stdlib.h> //funçao para abir. FILE* AbreArquivo(char modo, char caminho[30]){ FILE *arquivo; switch(modo){ case 'g': arquivo = fopen(caminho,"wt"); // Gravaço break; case 'l': arquivo = fopen(caminho,"rt"); // leitura break; case 'a': arquivo = fopen(caminho,"a"); // anexar break; } if(arquivo==NULL){ printf("\nNao foi possivel abrir. \n Arquivo Inexistente"); exit(0); } return arquivo; } //funçao para fechar void FecharArquivo(FILE *arquivo){ fclose(arquivo); } //funçao para cadastrar void Cadastra(int cods, char Setor[30], int telefone){ FILE *arquivo; arquivo = AbreArquivo('a', "Setor.txt"); fprintf(arquivo, "%d %s %d\n", cods, Setor, telefone); FecharArquivo(arquivo); } //funçao para listar void Listar(){ FILE *arquivo; int cods; char Setor[30]; int telefone; arquivo = AbreArquivo('l',"Setor.txt"); while(!feof(arquivo)){ fscanf(arquivo,"%d %s %d ",&cods , &Setor, &telefone); printf("\nCodigo Setor:%d Setor: %s - Telefone: %d \n",cods , Setor, telefone); } FecharArquivo(arquivo); } //funçao para modificar(alterar). void Alteracao(int cods, char Setor[30], int telefone){ FILE *arquivo, *arquivo2; int codsARQ; char SetorARQ[30]; int telefoneARQ; arquivo = AbreArquivo('l',"Setor.txt"); arquivo2 = AbreArquivo('a',"Setor1.txt"); while(!feof(arquivo)){ fscanf(arquivo,"%d %s %d ",&codsARQ, &SetorARQ, &telefoneARQ); if(cods == codsARQ) fprintf(arquivo2, "%d %s %d\n", cods, Setor, telefone); else fprintf(arquivo2, "%d %s %d\n", codsARQ, SetorARQ, telefoneARQ); //printf("\nCodigo Setor:%d Setor: %s - Telefone: %d \n",cods , Setor, telefone); } FecharArquivo(arquivo); FecharArquivo(arquivo2); } int main(void){ int op; char Setor[30]; int telefone, cods; do{ system("cls"); printf("\t Bem Vindo. \n\n\t===Lista de Setores===\t"); printf("\n\t\tMENU\n"); printf("\n 1 - Cadastrar Setor e Telefone:"); printf("\n 2 - Listar todos os Setores e Telefones:"); printf("\n 3 - Alterar Setor e Telefone:"); printf("\n 4 - Remover Setor e Telefone:"); printf("\n 5 - Sair."); printf("\n"); printf("\nDigite um Numero: "); scanf("%d", &op); switch(op){ case 1: system("cls"); printf("\nDigite o Codigo do Setor: "); scanf("%d", &cods); printf("\nDigite o Setor: "); setbuf(stdin,NULL); gets(Setor); printf("\nDigite o telefone: "); scanf("%d", &telefone); Cadastra(cods, Setor, telefone); system("pause"); break; case 2: system("cls"); Listar(); system("pause"); break; case 3: system("cls"); printf("\nDigite o Codigo do Setor a ser alterado: "); scanf("%d", &cods); printf("\nDigite o novo Setor: "); setbuf(stdin,NULL); gets(Setor); printf("\nDigite o novo telefone: "); scanf("%d", &telefone); Alteracao(cods, Setor, telefone); system("pause"); break; case 4: break; case 5: printf("\n\nFinalizando...\n\n"); system("pause"); exit(0); break; default: printf("\n\nEscolha invalida! Tente Novamente!\n\n"); system("pause"); } }while(op!=5); return 0 ; }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.