Ir ao conteúdo
  • Cadastre-se
Ciro Menescal

RESOLVIDO Ajuda em gravar em arquivos.

Recommended Posts

Tudo bem gente, precisava de ajuda. Preparei um codigo que le os dados das pessoas, podendo adicionar novos cadastros altera-los e exclui-los. Queria portanto saber como faz para conseguir salvar estes dados em um arquivo txt. Muito obrigado desde já. 

Segue o codigo:

 

#include <stdio.h>
#include <stdlib.h>
 
 
char lixo;
struct endereco{
char rua[100];
char bairro[100];
char cidade[100];
char estado[10];
char num[10];
};
struct cadastro{
char nome[100];
char nasc[10];
char cpf[20];
char rg[20];
char telf[20];
char telm[20];
struct endereco end;
};
struct cadastro cad[100];
int menu(){
int op;
printf("1-Incluir\n2-Excluir\n3-Alterar\n4-Listar\n5-Buscar\n6-Gravar\nEscolha a opcao:  ");
scanf("%d",&op);
return op;
}
void incluir (int qtd){
scanf("%c",&lixo);
printf("\nNome: ");
gets(cad[qtd].nome);
printf("\nData de nascimento: ");
gets(cad[qtd].nasc);
printf("\nCPF: ");
gets(cad[qtd].cpf);
printf("\nRG: ");
gets(cad[qtd].rg);
printf("\nTelefone Fixo: ");
gets(cad[qtd].telf);
printf("\nTelefone Movel: ");
gets(cad[qtd].telm);
printf("\nRua: ");
gets(cad[qtd].end.rua);
printf("\nNumero: ");
gets(cad[qtd].end.num);
printf("\nBairro: ");
gets(cad[qtd].end.bairro);
printf("\nCidade: ");
gets(cad[qtd].end.cidade);
printf("\nEstado: ");
gets(cad[qtd].end.estado);
system("CLS");
 
}
 
void excluir (int qtd){
scanf("#c",&lixo);
int i;
char zero[100]="  ";
printf("\nQual o cadastro deseja excluir? ");
scanf("%d",&i);
strcpy (cad.nome,zero);
strcpy (cad.nasc,zero);
strcpy (cad.cpf,zero);
strcpy (cad.rg,zero);
strcpy (cad.telf,zero);
strcpy (cad.telm,zero);
strcpy (cad.end.rua,zero);
strcpy (cad.end.bairro,zero);
strcpy (cad.end.cidade,zero);
strcpy (cad.end.estado,zero);
strcpy (cad.end.num,zero);
printf("\nCadastro excluido com sucesso.");
printf("\n\n");
system("PAUSE");
system("CLS");
 
 
 
 
}
void alterar (int qtd){
int i;
 
printf("\nQual cadastro deseja alterar? ");
 
scanf("%d",&i);
scanf("%c",&lixo);
printf("\nNome: ");
gets(cad.nome);
printf("\nData de nascimento: ");
gets(cad.nasc);
printf("\nCPF: ");
gets(cad.cpf);
printf("\nRG: ");
gets(cad.rg);
printf("\nTelefone Fixo: ");
gets(cad.telf);
printf("\nTelefone Movel: ");
gets(cad.telm);
printf("\nRua: ");
gets(cad.end.rua);
printf("\nNumero: ");
gets(cad.end.num);
printf("\nBairro: ");
gets(cad.end.bairro);
printf("\nCidade: ");
gets(cad.end.cidade);
printf("\nEstado: ");
gets(cad.end.estado);
printf("\n\nCadastro alterado com sucesso.");
printf("\n\n");
system ("PAUSE");
system ("CLS");
 
}
 
void listar (int qtd){
int i;
for(i=1;i<=qtd;i++){
printf("\nCadastro %d:",i);
printf("\nNome: %s",cad.nome);
printf("\nData de Nascimento: %s",cad.nasc);
printf("\nCPF: %s",cad.cpf);
printf("\nRG: %s",cad.rg);
printf("\nTelefones: %s e %s",cad.telm,cad.telf);
printf("\nEndereço: %s Numero: %s",cad.end.rua,cad.end.num);
printf("\nBairro: %s",cad.end.bairro);
printf("\nCidade: %s",cad.end.cidade);
printf("\nEstado: %s",cad.end.estado);
printf("\n\n\n");
 
}
system("PAUSE");
system("CLS");
}
void buscar (int qtd){
int i;
printf("\nQual cadastro deseja verificar? ");
scanf("%d",&i);
scanf("%c",&lixo);
printf("\nCadastro %d:",i);
printf("\nNome: %s",cad.nome);
printf("\nData de Nascimento: %s",cad.nasc);
printf("\nCPF: %s",cad.cpf);
printf("\nRG: %s",cad.rg);
printf("\nTelefones: %s e %s",cad.telm,cad.telf);
printf("\nEndereço: %s Numero: %s",cad.end.rua,cad.end.num);
printf("\nBairro: %s",cad.end.bairro);
printf("\nCidade: %s",cad.end.cidade);
printf("\nEstado: %s",cad.end.estado);
printf("\n\n\n");
system("PAUSE");
system("CLS");
}
 
int main(int argc, char *argv[]) {
struct cadastro cad[100];
int op,qtd=0;
do{
op=menu();
 
 
 
switch(op){
case 1:
qtd++;
incluir(qtd);
break;
case 2:
excluir(qtd);
break;
case 3:
alterar(qtd);
break;
case 4:
listar(qtd);
break;
case 5:
buscar(qtd);
break;
 
}
} while (op<7);
 
 
system("PAUSE");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declare um ponteiro para a estrutura do tipo FILE e use as funções básicas, fopen, fwrite, putc, etc.

Eu não estou muito em dia com essa parte de ponteiros hahahahahahaha, mas vou dar uma estudada e ver o que consigo, obrigado! 

Compartilhar este post


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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×