Felipe Weber Postado Novembro 18, 2014 Denunciar Share Postado Novembro 18, 2014 (editado) Olá pessoal esta é a minha primeira vez aqui, preciso de uma ajudinha, primeiramente vou detalhar o que é o meu código e depois a minha dúvida. Fiz quase tudo, meu maior problema é aplicar o item 2 REMOVER REGISTRO, porém não sei por onde começar! Segue o meu Código e me desculpem o tamanho dele :\ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> const int TAM_BUFFER = 255;// quantidade de caracteres a serem lidos no buffer de cada vez char arq[] = "Agenda.txt"; FILE *ptr_arq; typedef struct{ char Rua[50]; char Numero[30]; char CEP[30]; char Cidade[30]; char Estado[30]; }Endereco; typedef struct{ char Nome[50]; char Telefone[20]; Endereco local; char Email[50]; }Agenda; Agenda add; int CriarMenu(); Agenda InserirRegistro(); Agenda RemoverRegistro(); Agenda ListarRegistro(); Agenda BuscarRegistro(); main(){ switch(CriarMenu()){ case 1:{ printf("\nInserir Registro\n"); InserirRegistro(); return main(); } case 2:{ printf("\nRemover Registro\n"); RemoverRegistro(); return main(); } case 3:{ printf("\nListar Registro\n"); ListarRegistro( ); return main(); } case 4:{ printf("\nBuscar Registro\n"); BuscarRegistro(); return main(); } case 5:{ printf("\nSair\n"); break; } default:{ printf("\nCodigo errado digite novamente"); return main(); } } } int CriarMenu(){ int op; printf("\nMenu da agenda\n1) Inserir Registro\n2) Remover Registro\n3) Listar Todos Registros\n4) Buscar por um Registro\n5) Sair\n"); printf("\nDigite sua opcao: "); scanf("%d", &op); if((isalpha(op))!= 0){ printf("Erro "); } return op; } Agenda InserirRegistro(){ ptr_arq = fopen(arq, "a"); printf("Digite o Nome : "); scanf(" %[^\n]", add.Nome); fprintf(ptr_arq, "%s\t", add.Nome); printf("Informe o celular : "); scanf(" %[^\n]", add.Telefone); fprintf(ptr_arq, "%s\t", add.Telefone); printf("Digite o nome da Rua : "); scanf(" %[^\n]", add.local.Rua); fprintf(ptr_arq, "%s\t", add.local.Rua); printf("Informe o numero da rua : "); scanf(" %[^\n]", add.local.Numero); fprintf(ptr_arq, "%s\t", add.local.Numero); printf("Informe o CEP : "); scanf(" %[^\n]", add.local.CEP); fprintf(ptr_arq, "%s\t", add.local.CEP); printf("Informe sua Cidade : "); scanf(" %[^\n]", add.local.Cidade); fprintf(ptr_arq, "%s\t", add.local.Cidade); printf("Informe o Estado : "); scanf(" %[^\n]", add.local.Estado); fprintf(ptr_arq, "%s\t", add.local.Estado); printf("Informe o Email : "); scanf(" %[^\n]", add.Email); fprintf(ptr_arq, "%s\n", add.Email); fclose(ptr_arq); } Agenda RemoverRegistro(){ fclose(ptr_arq); } Agenda ListarRegistro( ){ ptr_arq = fopen(arq, "r"); // abre o arquivo char x; // variavel que ira receber os caracteres do arquivo printf("Nome\t\tTelefone\t\tRua\t\tNumero\t\tCEP\t\tCidade\t\tEstado\t\tEmail\n"); while((x=fgetc(ptr_arq)) != EOF){ // le caracter pro caracter do arquivo ate encontrar o final do arquivo printf("%c", x); // imprime caracter por caracter } fclose(ptr_arq); // fecha arquivo } Agenda BuscarRegistro(){ char procura[50]; // variavel que ira receber o nome para pesquisa char buffer[TAM_BUFFER]; // variavel que ira receber todo conteudo do arquivo ptr_arq = fopen(arq, "r"); // abre o arquivo printf("Digite o nome da busca : "); scanf(" %[^\n]", procura); while(fgets(buffer, TAM_BUFFER, ptr_arq)){ // ele ira ler todo o conteudo e ira colocar no buffer if(strstr(buffer,procura) ){ // ve se o valor que tem em procura tem dentro de buffer printf("Nome\t\tTelefone\t\tRua\t\tNumero\t\tCEP\t\tCidade\t\tEstado\t\tEmail\n"); printf("%s\n", buffer); } } if(add.Nome!=procura){ printf("O nome %s não esta cadastrado na agenda.", procura); } fclose(ptr_arq); // fecha o arquivo } Editado Novembro 18, 2014 por Felipe Weber Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Felipe Weber
Olá pessoal esta é a minha primeira vez aqui, preciso de uma ajudinha, primeiramente vou detalhar o que é o meu código e depois a minha dúvida.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.