como deletar registro arquivo texto help
Boa noite galera sou novo no forum tenho uma atividade que só falta terminar um função preciso de uma ajuda
1)Deletar um registro do arquivo. O usuário deverá escolher o valor do código do registro a ser excluído.
codigo completo abaixo faltando só a função "excluir "
me ajudem help
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int menu;
typedef struct midia{
char nome[30],genero[30],tipo[30],codigo[30],anolancamento[30];
}dados;
int cadastrar(){
struct midia;
dados locadora;
setbuf(stdin,NULL);
printf("digite o codigo: ");
scanf("%s",&locadora.codigo);
setbuf(stdin,NULL);
printf("digite seu nome: ");
gets(locadora.nome);
setbuf(stdin,NULL);
printf("digite o genero: ");
scanf("%s",&locadora.genero);
setbuf(stdin,NULL);
printf("digite o tipo DVD OU BLURAY: ");
scanf("%s",&locadora.tipo);
setbuf(stdin,NULL);
printf("digite o ano de lancamento: ");
scanf("%s",&locadora.anolancamento);
setbuf(stdin,NULL);
FILE *arquivo=fopen("dados.txt","a");
if(!arquivo) exit(1);
fprintf(arquivo,"codigo: %s\n",locadora.codigo);
fprintf(arquivo,"nome: %s\n",locadora.nome);
fprintf(arquivo,"genero: %s\n",locadora.genero);
fprintf(arquivo,"tipo: %s\n",locadora.tipo);
fprintf(arquivo,"ano do lancamento: %s\n",locadora.anolancamento);
fclose(arquivo);
printf("cadastro realizado com sucesso \n");
system("cls");
}int listar(){
char leitor [50];
FILE*arquivo=fopen("dados.txt","r");
if(arquivo==NULL)exit(1);while(fgets(leitor,50,arquivo)){
printf("%s",leitor);
}
}int pesquisar(){
char leitor [50],str1[20],str2[20],cod[30];
int i=0,j=0;
FILE*arquivo=fopen("dados.txt","r");
if(arquivo==NULL)exit(1);
setbuf(stdin,NULL);
printf("pesquisar codigo:");
scanf("%s",cod);while(fgets(leitor,50,arquivo)){
sscanf(leitor,"%s %s",str1,str2); // 'sscanf' string que divide em outras string
if(strcasecmp(str2,cod)==0)i+=1;
if(i>=1){
if(i>=1&&j<=4)printf("%s \n",leitor);
j++;
}
}
if(i>=1){
printf("Registro encontrado \n");
}else if(i==0){
printf("Registro nao encontrado \n");
}
fclose(arquivo);
}
int deletar(){
}
int excluirtodos(){
int op;
printf("Deseja Realmente excluir todos? \n [1-Sim ou 2-nao]: ");
scanf("%d",&op);
if (op == 1){
FILE * arquivo;
arquivo = fopen("dados.txt","w");
printf("Todos excluidos com Exito!");
fclose(arquivo);
}
getch();
}
int sair(){
printf("\n Programa finalizado \n");
}
main(){
do{
printf("\n================ MENU ====================\n");
printf("1 - Cadastrar\n");
printf("2 - listar Registro Cadastrado\n");
printf("3 - Pesquisar Registro\n");
printf("4 - Deletar registro \n");
printf("5 - limpar arquivo\n");
printf("0 - Sair\n");
printf("\n=========================================\n");
printf("\nDigite a alternativa desejada: ");
scanf("%d",&menu);
if(menu==1){ // LISTA PARA CADASTRAR
cadastrar();
}if(menu==2){ // LISTA MOSTRA ITENS CADASTRADO NO REGISTROS
listar();
}if(menu==3){ // LISTA PARA PESQUISAR OS REGISTROS
pesquisar();
}
if(menu==4){deletar(); //FUNÇÃO EXCLUIR REGISTRO
}
if(menu==5){
excluirtodos(); // FUNÇÃO limpar REGISTRO
}
if(menu==0){
sair();
}
}
while(menu!=0);
getch();
system("pause");
return 0;
}Discussão (0)
Carregando comentários...