Advertisement
BrunoG92

Agenda de contatos 2

Mar 28th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.91 KB | None | 0 0
  1. //Usando manipulação de arquivos ,crie uma agenda telefônica com um menu. Os dados do contato devem ser salvo em uma struct. Salve em //um arquivo txt no mesmo diretorio onde o programa foi executado. Nome e telefone deverão ter quebra de linha, o endereço deve ficar //em apenas uma linha.
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5. #include<locale.h>
  6. char texto [300]; // onde sera salvo todo o texto
  7. char texto2 [100];
  8. int opcao=0,n1,n2,n3,i=0;
  9. char nometemp [30];
  10. char enderecotemp [200];
  11.  
  12. struct tipo_endereco
  13. {
  14.     char Cidade[30];
  15.     char Bairro[30];
  16.     char Rua [30];
  17.     char Numero [3];
  18.  
  19. };
  20.  
  21. struct tipo_cadastro
  22. {
  23.     char Nome[30];
  24.     char Telefone [11];
  25. };
  26. int main ()
  27. {
  28.     setlocale(LC_ALL,"Portuguese");
  29.     FILE *arquivo; // comando para manipulação de arquivos. Apontando para o ponteiro arquivo, variavel
  30.  
  31.     printf ("Selecione uma opção abaixo para começar\n");
  32.    
  33.     tipo_endereco Local;
  34.     tipo_cadastro Contato;
  35.    
  36.     while (opcao!=3)
  37.     {
  38.  
  39.         printf("\t\t\t\+______________________________________+\n");
  40.         printf("\t\t\t\|                                      |\n");
  41.         printf("\t\t\t\|             1-Incuir                 |\n");
  42.         printf("\t\t\t\|             2-Pesquisar              |\n");
  43.         printf("\t\t\t\|             3-Sair                   |\n");
  44.         printf("\t\t\t\|                                      |\n");
  45.         printf("\t\t\t\+--------------------------------------+\n");
  46.         scanf ("%d",&opcao);
  47.         switch (opcao)
  48.         {
  49.         // cadastro de contato
  50.         case 1:
  51.             fflush (stdin);
  52.             //salvando na memoria
  53.             printf ("Você escolheu a opção 1 - Cadastrar contato \n");
  54.             printf("Nome do Contato:");
  55.             gets (Contato.Nome);
  56.             printf("Telefone:");
  57.             gets(Contato.Telefone);
  58.             fflush(stdin);
  59.             printf("Informe a Cidade:");
  60.             gets (Local.Cidade);
  61.             printf("Informe o Bairro:");
  62.             gets (Local.Bairro);
  63.             printf ("Informe a Rua:");
  64.             gets (Local.Rua);
  65.             printf("Informe o Numero da casa:");
  66.             gets (Local.Numero);
  67.             printf ("Contato Salvo com sucesso!\n");
  68.             system ("pause");
  69.             //salvar no arquivo de texto
  70.             arquivo = fopen ("agenda.txt","a"); // abrir o arquivo em modo alteração
  71.             fprintf (arquivo,"%s \n",Contato.Nome);
  72.             fprintf (arquivo,"%s  \n",Contato.Telefone);
  73.             fprintf (arquivo,"%s ",Local.Cidade);
  74.             fprintf (arquivo,"%s ",Local.Bairro);
  75.             fprintf (arquivo,"%s ",Local.Rua);
  76.             fprintf (arquivo,"%s ",Local.Numero);
  77.             fprintf (arquivo,"%s","\n-----------------------\n"); // quebra de linha após cadatrar um contato
  78.             fclose (arquivo); //fechado o arquivo
  79.            
  80.             break;
  81.     // pesquisar contato
  82.         case 2:
  83.             fflush (stdin);
  84.             printf ("Você escolheu a opção 2 - Pesquisa de contato\n");
  85.             arquivo = fopen ("agenda.txt", "r"); // abrindo o arquivo em modo leitura
  86.             if (arquivo == NULL)  // Criado uma validação, se o ponteiro apontar para nulo, ou seja o arquivo agenda.txt nao existir ira mostra o erro
  87.             {
  88.                 printf ("Erro arquivo agenda.txt não encontrado \n");
  89.                 system ("pause");
  90.                 return 0;
  91.             }
  92.            
  93.            
  94.             char procura [30]; // contato a ser pesquisado
  95.             int resultado; //resultado da comparação
  96.             printf ("Digite o nome do contato para pesquisa:");
  97.             gets (procura);
  98.             int tamanho;
  99.             tamanho = strlen (procura); // calcular a quantidade de caracteres do nome a ser pesquisado
  100.             printf ("Nome a ser procurado %s \n",procura); // nome que esta sendo procurado
  101.        
  102.            
  103.             while (fgets (texto,300,arquivo)!= NULL) // carregar o conteudo do arquivo para a memoria
  104.             {
  105.                
  106.                 resultado = strncmp (procura,texto,tamanho); //comparação da string procura com o texto lido, ao achar, para a pesquisa
  107.                 if (resultado == 0)
  108.                 {
  109.                
  110.                 fscanf (arquivo,"%s ",&nometemp);
  111.                 fscanf (arquivo,"%s ",&enderecotemp);
  112.                 printf ("Nome: %s",nometemp);
  113.                 printf ("Endereço: ",enderecotemp);
  114.                 break;
  115.                 }
  116.            
  117.            
  118.             }
  119.             if (resultado ==0)
  120.             {   //system ("cls");
  121.                 printf ("\nContato encontrado\n");
  122.                
  123.                
  124.                
  125.              }
  126.              else
  127.              printf ("Contato não encontrado\n");
  128.            
  129.            
  130.             break;
  131.        //fechar o programa
  132.         case 3:
  133.             printf ("Obrigado por usar esse programa. Pressione qualquer tecla para sair");
  134.          
  135.             exit (0);
  136.        
  137.         case 4:
  138.                 arquivo = fopen ("agenda.txt","r");
  139.                 while (fgets (texto,300,arquivo)!= NULL)
  140.                 {
  141.                     printf ("%s",texto);
  142.         }        }
  143.     }
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement