hoje vamos tentar desenvolver um contador de letras. É bem simples, o programa irá contar quantas ocorrências de determinada letra, dentro de um arquivo, teremos.
Para isso, dentro da mesma pasta do executável coloque um arquivo, dentro dele, coloque algumas palavras. Vamos a um pequeno exemplo:
root@debian:/home/eduardo/Documents/programas/FilesV0/bin/Debug# vi arq
dentro do arquivo colocamos:
Teste do programa
Vamos executar:
root@debian:/home/eduardo/Documents/programas/FilesV0/bin/Debug# ./FilesV0 arq p
onde:
Resultado:
Veja o código abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char * argv[])
{
FILE * arquivo;
int letra;
int nOcorrencias = 0;
if(argc != 3)
{
printf("\n\tErro, voce deve informar o arquivo e a letra a ser procurada!!!!\n");
return 0;
}
else
{
arquivo = fopen(argv[1],"r");
if (arquivo == NULL)
{
printf("\n\tProblemas ao abrir o arquivo, certifique-se que o mesmo existe\n");
return 0;
}
else
{
letra = fgetc(arquivo);
while (letra != EOF)
{
if (strcmp(argv[2], (char *)&letra) == 0)
nOcorrencias++;
letra = fgetc(arquivo);
}
printf("\n\tNumero de ocorrencias da letra %s e %d\n", argv[2], nOcorrencias);
}
fclose(arquivo);
}
return 0;
}
./FilesV0 é o nome do progama
arq é o nome do arquivo
p é a letra que desejamos procurar
Resultado:
Numero de ocorrencias da letra p e 1
Veja o código abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char * argv[])
{
FILE * arquivo;
int letra;
int nOcorrencias = 0;
if(argc != 3)
{
printf("\n\tErro, voce deve informar o arquivo e a letra a ser procurada!!!!\n");
return 0;
}
else
{
arquivo = fopen(argv[1],"r");
if (arquivo == NULL)
{
printf("\n\tProblemas ao abrir o arquivo, certifique-se que o mesmo existe\n");
return 0;
}
else
{
letra = fgetc(arquivo);
while (letra != EOF)
{
if (strcmp(argv[2], (char *)&letra) == 0)
nOcorrencias++;
letra = fgetc(arquivo);
}
printf("\n\tNumero de ocorrencias da letra %s e %d\n", argv[2], nOcorrencias);
}
fclose(arquivo);
}
return 0;
}
Nenhum comentário:
Postar um comentário