Conta caracteres
Publicado por Danilo Renato da Silva (última atualização em 08/06/2012)
[ Hits: 6.772 ]
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); } }
Agenda eletrônica completa em C
Compactando arquivos de log *.txt
Números de caracteres em arquivo
Cadastor de Produtos em C e metodos ordenação
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (0)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)