Advertisement
Guest User

epilrbag2

a guest
May 29th, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.54 KB | None | 0 0
  1. //Nome:Filipe Gabriel da Silva
  2. //Professora:Janaína Lemos
  3.  
  4. //                  TRABALHO DO GB - Exercício 1:
  5.  
  6.  
  7.  
  8.  
  9. #include<stdio.h>
  10. #include<stdlib.h>
  11.  
  12. main()
  13. {
  14.     FILE *arq;
  15.     char str[50], nome_arq[50], a;
  16.     int i, x, y, count=0, enc=0, op;
  17.  
  18.     system("clear");
  19.     do
  20.     {
  21.         printf("1. Acessar ao arquivo e localizar os caracteres\n2. Sair");
  22.         printf("\n\nOpção escolhida:");
  23.         scanf("%d", &op);
  24.         getchar();
  25.  
  26.         if(op==1) // Se opção escolhida 1, o programa vai acessar em arquivo
  27.         {
  28.             int op2;
  29.  
  30.             system("clear");
  31.  
  32.             printf("Digite o caminho do arquivo:");//Digite o nome do arquivo que o programa vai acessar
  33.             gets(nome_arq);
  34.  
  35.             do
  36.             {
  37.                 arq=fopen(nome_arq, "r");//O programa vai ler no arquivo, caso o arquivo não existir, o programa vai sair
  38.                 if(arq==NULL)
  39.                 {
  40.                     printf("Erro ao abir o arquivo\n");
  41.                     exit(1);
  42.                 }
  43.  
  44.                 system("clear");
  45.  
  46.                 printf("Digite os caracters que você quer pesquisar no arquivo:"); //Aqui o usuario digite os caracteres que deseja localizar no arquivo
  47.                 gets(str);
  48.  
  49.                 system("clear");
  50.  
  51.                 while(!(feof(arq)))//Para saber quantos caracters contém no arquivo
  52.                 {
  53.                     fread(&a, sizeof(char), 1, arq);
  54.                     count++;
  55.                 }
  56.  
  57.                 fclose(arq);//Fecha o arquivo
  58.  
  59.                 arq=fopen(nome_arq, "r"); //Abre o arquivo de novo
  60.                 if(arq==NULL)
  61.                 {
  62.                     printf("Erro ao abir o arquivo\n");
  63.                     exit(1);
  64.                 }
  65.  
  66.                 char c[count];
  67.  
  68.                 fread(c, sizeof(char), count, arq);
  69.  
  70.                 for(i=0; c[i]!='\0'; i++)
  71.                 {
  72.                     if(c[i]==str[0])//se o caracter c for igual da primeira letra do caracter str
  73.                     {
  74.                         x=i+1;
  75.                         y=1;
  76.                         while(str[y]!='\0')//caracter str não pode ser igual ao delimitador, para verficar se o caracter for igual str, logo se repete, até que o ultimo caracter str for igual do c
  77.                         {
  78.                             if(c[x]==str[y])
  79.                             {
  80.                                 x++;
  81.                                 y++;
  82.                             }
  83.  
  84.                             else
  85.                                 break;//se não for igual, os caracteres não foi encontrado
  86.                         }
  87.  
  88.                         if(str[y]=='\0')// se for igual, encontrado
  89.                         {
  90.                             printf("Encontrado\n\n");
  91.                             break;
  92.                         }
  93.                     }
  94.                 }
  95.  
  96.                 if(c[i]=='\0')
  97.                     printf("Não encontrado\n\n");
  98.  
  99.                 fclose(arq);// fecha o arquivo
  100.  
  101.                 printf("Continuar no mesmo arquivo?\n"); //continuar no mesmo arquivo
  102.                 printf("\nEscolha uma opção:\n1. Sim\n2. Não\n\n");
  103.                 printf("Opção escolhida:");
  104.                 scanf("%d", &op2);
  105.                 getchar();
  106.                 system("clear");
  107.             }
  108.             while(op2!=2);
  109.         }
  110.  
  111.         else if(op==2)
  112.         {
  113.             system("clear");
  114.             printf("Saindo do programa\n\n");
  115.         }
  116.     }
  117.     while(op!=2);
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement