Advertisement
Nicolas_Aleixo2014

Listar nome dentro de arquivos.

Nov 8th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct
  5. {
  6.     char nome[20];
  7. }Contato;
  8.  
  9. void inserir();
  10. void listar();
  11.  
  12. int main()
  13. {
  14.     int opcao;
  15.     do
  16.     {
  17.         printf("1 - Inserir\n");
  18.         printf("2 - Listar\n");
  19.         printf("Digite: ");
  20.         scanf("%d", &opcao);
  21.  
  22.         switch(opcao)
  23.         {
  24.             case 1:
  25.                 inserir();
  26.                 break;
  27.             case 2:
  28.                 listar();
  29.                 break;
  30.             default:
  31.                 printf("Opcao invalida\n");
  32.         }
  33.  
  34.     }while(opcao != 3);
  35. }
  36.  
  37. void inserir()
  38. {
  39.     FILE *arquivo;
  40.     Contato add;
  41.  
  42.     if((arquivo = fopen("contato.dat", "ab"))== NULL)
  43.     {
  44.         printf("erro ao abrir o arquivo\n");
  45.         exit(1);
  46.     }
  47.     else
  48.     {
  49.         printf("Nome: ");
  50.         scanf("%s", add.nome);
  51.  
  52.         fwrite(&add,sizeof(Contato),1,arquivo);
  53.  
  54.         printf("Nome adicionado com sucess\n");
  55.     }
  56.     fclose(arquivo);
  57. }
  58.  
  59. void listar()
  60. {
  61.     FILE *arquivo;
  62.     Contato add;
  63.  
  64.     if((arquivo = fopen("contato.dat","rb"))==NULL)
  65.     {
  66.         printf("Houve um erro ao abrir este arquivo\n\n");
  67.         exit(1);
  68.     }
  69.     else
  70.     {
  71.         while(fread(&add,sizeof(Contato),1,arquivo)==1)
  72.         {
  73.             printf("Nome: %s\n", add.nome);
  74.         }
  75.     }
  76.     fclose(arquivo);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement