Manipulando arquivo em C, CADASTRO

583 views
Skip to first unread message

Gabriel Cassel

unread,
Jun 17, 2013, 12:53:21 PM6/17/13
to DeAlunoP...@googlegroups.com
Olá, tenho um programa que necessita da criação de um arquivo txt e apos com 
  • manipulação (inserção, alteração, consulta, exclusão, )
  • Inserir um registro novo
  • Alterar dados de um registro
  • Consultar dados:
    • pelo nome
    • pelo telefone
    • pelo email
  • Excluir um registro existente
  • Imprimir (na tela) todos os registros:

A estrutura do registro é a seguinte:
struct registro
{
char nome[40]; // guarda o nome da pessoa
char email[50]; // guarda o e-mail da pessoa
char telefone[14]; // indica o número do telefone no formato (99)99999-9999
char status; // indica se o registro está excluído ou não - 0 = excluído / 1 = ativo
};


se puderem me ajudar!!!!

Ítalo Grossi

unread,
Jun 17, 2013, 1:27:07 PM6/17/13
to DeAlunoP...@googlegroups.com
Opa.. fala aí Gabriel.. 

Você sabe alguma coisa sobre manipulação de arquivos, estruturas e a base de C?
Você chegou a escrever algum código? tem alguma parte em específico que você está precisando de ajuda? Esse programa é um pouco extenso.. é mais fácil você ir postando as partes que não está conseguindo fazer pro pessoal te ajudar.

Como é novo no fórum de uma checada no item 5 dessa lista

Abraços!

Gabriel Cassel

unread,
Jun 17, 2013, 2:00:45 PM6/17/13
to DeAlunoP...@googlegroups.com
claro que tenho!
valeu pela iniciativa Italo!

Segue....

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

main ()
{
int opcao,erro=0;
   char resp;
   inicio:
   fflush(stdin);
   system("cls");
   printf("*-----------------------------*\n");
   printf("|      Menu de opcoes         |\n");
   printf("*-----------------------------*\n");
   printf("| 1 - Gerar Cadastro          |\n");
   printf("| 2 - Limpar Cadastro         |\n");
   printf("| 3 - Mostrar Cadastro na Tela|\n");
   printf("| 4 - Finalizar programa      |\n");
   printf("*-----------------------------*\n");
   erro=0;
   do
   {
      erro++;
      if(erro>1)
      {
         printf("Erro: Opcao invalida!\n");
         erro=1;
      }
      printf("Informe a sua opcao: ");
      scanf("%d",&opcao); fflush(stdin);
   }
   while(opcao>4 || opcao<1);
   switch(opcao)
   {
      case 1:
     {
   FILE *cadastro;
  /*int x;*/
   char nome [40], email[50], phone[14], status;

   cadastro = fopen ("C:\CADASTRO.txt", "a+");
    if(!cadastro)
    {
    printf( "Erro na abertura do arquivo");
    exit(0);
    }

   puts ("Entre com o nome: ");
   gets (nome);
   fprintf (cadastro, "Nome: %s \n",nome);
   puts ("Entre com o email: ");
   gets (email);
   fprintf (cadastro, "Email: %s \n",email);
   puts ("Entre com o telefone: ");
   gets (phone);
   fprintf (cadastro, "Telefone: %s \n\n",phone);
   puts ("Cadastro realizado com sucesso! \n");


   fclose (cadastro);
     }

case 2:
      {
int main;
{
 remove("c:\CADASTRO.txt");
}
      }
case 3:
      {

      }
case 4:
      {
system("pause");
   return 0;
      }

system("pause");
   return 0;
    }
}

Necessariamente meu foco nesse código é no mostrar as informações do registro criado no txt na tela, caso o usuário vir a pedir....

Gabriel Cassel

unread,
Jun 17, 2013, 2:00:54 PM6/17/13
to DeAlunoP...@googlegroups.com

Rubens M

unread,
Jun 22, 2013, 10:30:17 AM6/22/13
to DeAlunoP...@googlegroups.com
recomendo vc usar arquivos binários em vez de textos... comecei um trabalho um arquivo em txt e tou tendo um bastante trabalho pra poder coordenar várias coisas ao mesmo tempo. no arquivo binário, vc pode salvar as coisas em blocos.
primeiramente, nesse teu trabalho, você vai ter que usar struct. você até poderia criar variáveis globais se fossem dados apenas numéricos, mas como possui strings, é necessário o uso do struct pra relacionar cada nome com os dados respectivos.
eu sou meio leigo no assunto de manipulação de arquivos binários, então recomendo você dar uma estudada nessa parte e na de struct que você faz de boa!!
abraços.
Reply all
Reply to author
Forward
0 new messages