Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios

Como abrir um arquivo e contar quantas vezes uma palavra é encontrada em seu conteúdo usando C++ - Exercícios Resolvidos de C++

Quantidade de visualizações: 393 vezes
Pergunta/Tarefa:

Dado um arquivo texto.txt com o seguinte conteúdo:

Gosto de programar em Java e também em C++.
Às vezes eu programo em Delphi e Python.
Mas Java, eita, Java é bom demais.
Escreva um programa C++ que pede para o usuário informar o local e nome deste arquivo e, em seguida, peça também uma palavra. Seu código deverá verificar quantas vezes a palavra é encontrada no conteúdo do arquivo, ou seja, a quantidade de ocorrências da palavra no arquivo informado.

Sua saída deverá ser parecida com:

Nome do arquivo: c:\estudos_c++\texto.txt
Palavra a ser pesquisada: Java
Foram encontradas 3 ocorrencias. 
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  ifstream arquivo;
  string nome_arquivo;
  int contador = 0;
  string linha, palavra;
  
  // vamos pedir para o usuário informar o nome do arquivo
  cout << "Informe o caminho e nome do arquivo: ";
  getline(cin, nome_arquivo);
  
  // agora abrimos o arquivo
  arquivo.open(nome_arquivo, ios::in);
  
  // vamos pedir a palavra a ser pesquisada no arquivo
  cout << "Informe a palavra a ser pesquisada: ";
  getline(cin, palavra);
  
  // percorremos as linhas do arquivo
  while(arquivo){
    // obtemos a linha atual
    arquivo >> linha;
	
    // tentamos encontrar a primeira e as próximas ocorrências
    // nessa linha   
    int indice = linha.find(palavra, 0); 
    while (indice != string::npos){
      // aumentamos a quantidade de ocorrências
      contador++;
      // e pesquisamos novamente de onde paramos
      indice = linha.find(palavra, indice + palavra.size());
    }
  }
    
  // mostramos o resultado
  cout << "Foram encontradas " << contador << " ocorrencias." << endl;  
    
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Dicas & Truques ::: Strings e Caracteres

Como retornar uma substring de uma string em C++ usando a função substr()

Quantidade de visualizações: 10216 vezes
Este exemplo usa a função substr() para obter uma substring a partir de uma string. A assinatura para essa função é:

string substr(size_t pos = 0, size_t n = npos) const;
Veja que só precisamos fornecer a posição do caractere inicial da substring (pos) e a quantidade de caracteres que serão retornados (n).

Se a posição inicial da substring for maior que o tamanho da string, uma exceção do tipo out_of_range será atirada. Nenhum erro é indicado se o tamanho da substring exceder o tamanho da string.

Veja o código C++ completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar uma string	
  string frase = "Gosto de Java e C++";
  cout << "A frase e: " << frase << endl;
  
  // agora vamos obter uma parte da frase
  string sub = frase.substr(9, 4);

  // e mostramos o resultado
  cout << "A substring retornada e: " << sub << endl; // retorna "Java"
	  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

A frase é: Gosto de Java e C++
A substring retornada é: Java


C++ ::: C++ para Engenharia ::: Física - Mecânica

Como calcular a Energia Potencial Gravitacional de um corpo dado a sua massa e altura em C++

Quantidade de visualizações: 319 vezes
A Energia Potencial Gravitacional ou Energia Gravitacional é a energia potencial que um objeto massivo tem em relação a outro objeto massivo devido à gravidade. É a energia potencial associada ao campo gravitacional, que é parcialmente convertida em energia cinética quando os objetos caem uns contra os outros. A energia potencial gravitacional aumenta quando dois objetos são separados.

A fórmula para obtenção da Energia Potencial Gravitacional de um corpo em relação à sua massa e distância do chão, ou seja, da superfície terrestre, é:

\[ E_\text{pg} = \text{m} \cdot \text{g} \cdot \text{h} \]

Onde:

Epg ? energia potencial gravitacional (em joule, J).

m ? massa do corpo (em kg).

g ? aceleração da gravidade (m/s2).

h ? altura do objeto em relação ao chão (em metros).

Como podemos ver, a Energia Potencial Gravitacional está diretamente relacionada à distância do corpo em relação à superfície terrestre. Dessa forma, quanto mais distante da terra o objeto estiver, maior a sua energia gravitacional. Isso nós diz também que, um objeto de altura zero possui Energia Potencial Gravitacional nula.

Vamos ver um exemplo agora? Observe o seguinte enunciado:

1) Uma pessoa levanta um tijolo com peso de 2 quilogramas à distância de 1,5 metros do chão. Qual é a Energia Potencial Gravitacional deste corpo?

Como o exercício nos dá a massa do objeto em kg e a distância dele em relação ao chão já está em metros, tudo que temos a fazer é jogar na fórmula. Veja o código C++ completo para o cálculo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // gravidade terrestre em m/s2
  double gravidade = 9.80665;
  // massa do corpo
  double massa = 2; // em kg
  // altura do corpo em relação ao chão
  double altura = 1.5; // em metros
  
  // vamos calcular a energia potencial gravitacional
  double epg = massa * gravidade * altura;
  
  // mostramos o resultado
  cout << "A Energia Potencial Gravitacional é: " << epg << "J";
		
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

A Energia Potencial Gravitacional é: 29.419950J


C++ ::: Dicas & Truques ::: Recursão (Recursividade)

Como calcular potência em C++ usando uma função recursiva

Quantidade de visualizações: 19279 vezes
Nesta dica mostrarei como podemos efetuar cálculo de potência em C++ usando recursividade, ou seja, uma função que chama a si mesma repetidamente, até que o caso base (condição de parada) seja alcançado. Veja que informaremos a base e o expoente e a função nos retornará a potência da base informada.

Veja o código C++ completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>

using namespace std;

// função recursiva que calcula a potência de
// um inteiro
int potencia(int base, int expoente){
  // caso base
  if(expoente == 0){
    return 1;
  }
  // efetua mais uma chamada recursiva
  else{
    return base * potencia(base, expoente - 1);
  }
} 

// função principal do programa
int main(int argc, char *argv[]){
  int base = 3;
  int expoente = 4;

  cout << base << " elevado a " << expoente << " = " <<
    potencia(base, expoente) << endl;

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

3 elevado a 4 = 81


Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 27 usuários muito felizes estudando em nosso site.