Conta caracteres
Publicado por Danilo Renato da Silva (última atualização em 08/06/2012)
[ Hits: 6.981 ]
Homepage: http://widgetscomcafe.blogspot.com/ https://www.linkedin.com/in/danilorenatosilva
Este script calcula a frequência com que determinado caracter aparece em um arquivo texto, mostrando no final a porcentagem desta frequência.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
float calculaPorcentagem(int num, int total)
{
return num / (total / 100.0f);
}
int main()
{
FILE *arq;
char nome_arq[20];
float porcentagem;
char c , c_aux;
int total = 0, total_geral = 0;
printf("Digite o nome do arquivo texto.....: ");
gets(nome_arq);
while(1)
{
printf("Digite o caracter [Enter para sair]: ");
fflush(stdin);
c = getchar(); //armazenamos o caracter digitado na variavel c
if(c == '\n') //se nao digitarmos nenhum caracter (enter) saimos do loop
break;
arq = fopen(nome_arq, "r"); //abrimos o arquivo em modo de leitura
if(arq == NULL) //verificamos se o arquivo existe
{
printf("Arquivo nao encontrado!");
break;
}
total = 0; total_geral = 0;
while((c_aux = fgetc(arq)) != EOF) //armazenamos o caracter do arquivo na variavel c_aux e avançamos para o proximo
{ //até atingir o fim do arquivo
if(toupper(c_aux) == toupper(c)) //queremos comparar o caracter atual lido do arquivo com o caracter digitado
total++; //tanto maiusculo quanto minusculo
total_geral++; //incrementamos o numero de caracteres presentes no arquivo
}
fclose(arq); //fechamos o arquivo
porcentagem = calculaPorcentagem(total, total_geral); //calculamos a porcentagem que o caracter digitado aparece no arquivo
printf("O caracter \'%c\' aparece %.2f%% no arquivo %s\n\n", c, porcentagem, nome_arq);
}
}
Ajustando o sincronismo da legenda com o filme
Agenda eletrônica completa em C
Barra de progresso em forma de “roda”
Programinha que busca arquivos
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









