Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ElytonSilva

como deletar registro arquivo texto help

Recommended Posts

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;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.