Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres

Como excluir os N últimos caracteres de uma string C++ usando a função erase()

Quantidade de visualizações: 521 vezes
Nesta dica mostrarei como podemos usar a função erase() da classe String do C++ para remover os N últimos caracteres de uma palavra, frase ou texto. Note que a função erase() modifica a string original. Se o objetivo for apenas retornar parte da string, a função substr() é mais recomendada.

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;

// função principal do programa
int main(int argc, char *argv[]){
  // vamos declarar uma string   
  string frase;
  
  // quantidade de caracteres que serão removidos no
  // início da string
  int quantidade;
  
  // vamos pedir para o usuário informar uma frase 
  cout << "Informe uma frase: ";
  getline(cin, frase);
  cout << "A frase informada foi: " << frase << endl;
  
  // vamos pedir para o usuário informar a quantidade de
  // caracteres que serão removidos no final da string
  cout << "Quantidade de caracteres a serem removidos: ";
  cin >> quantidade;

  // agora removemos os N caracteres no final da string
  frase.erase(frase.length() - quantidade);
  cout << "Depois da remocao dos N caracteres: " << frase << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Informe uma frase: Gosto de programar em JavaScript
A frase informada foi: Gosto de programar em JavaScript
Quantidade de caracteres a serem removidos: 6
Depois da remocao dos N caracteres: Gosto de programar em Java

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Dicas & Truques ::: Matemática e Estatística

Como testar se um número é par ou ímpar em C++

Quantidade de visualizações: 762 vezes
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em C++ usando-se o operador de módulo "%", que retorna o resto de uma divisão por inteiros.

Veja o exemplo a seguir:

----------------------------------------------------------------------
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[]){
  // variáveis usadas para resolver o problema
  int num;
  
  // vamos ler um número inteiro
  cout << "Informe um valor inteiro: ";
  cin >> num;

  // vamos testar se o número é par
  if(num % 2 == 0){
    cout << "Você informou um número par" << endl;
  }
  // é ímpar
  else{
    cout << "Você informou um número ímpar" << endl;
  }
   
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

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

Informe um valor inteiro: 8
Você informou um numero par


C++ ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros compostos e montante usando C++

Quantidade de visualizações: 17080 vezes
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte.

Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos:

1º mês: M = P .(1 + i)
2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i)
3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i)

Simplificando, obtemos a fórmula:

M = P . (1 + i)^n

Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses.

Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período:

J = M - P

Vejamos um exemplo:

Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros?

Veja o código C++ para a resolução:

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

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.03; // 3%
  int meses = 3;
  
  float montante = principal * pow((1 + taxa), meses);
  float juros = montante - principal;
  
  cout << "O total de juros a ser pago é: " << 
      juros << "\n";
  cout << "O montante a ser pago é: " << 
      montante << "\n\n";
	
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:

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

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.03; // 3%
  int meses = 3;
  float anterior = 0.0;
  float montante;
  float juros;
  
  for(int i = 1; i <= meses; i++){
    montante = principal * pow((1 + taxa), i);
    juros = montante - principal - anterior;
		
    anterior += juros;
  
    cout << "Mês: " << i << " - Montante: " <<
       montante << " - Juros " << juros << "\n";
  }
	
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



C++ ::: Win32 API (Windows API) ::: Edit Control

Como definir a cor de fundo para um Edit Control em tempo de execução usando C++ e a API do Windows

Quantidade de visualizações: 10201 vezes
O processo de definir a cor de fundo para um Edit Control em tempo de execução usando apenas C++ e a API do Windows é um pouco complicado. A técnica apresentada aqui pode não ser a mais eficiente, mas funciona mesmo (testado como VC++ 2005 e Windows XP). Note que estarei usando as funções CreateSolidBrush(), GetDlgCtrlID(), SetBkMode() e SetBkColor() da WinAPI.

1 - Comece adicionando as linhas na parte de variáveis globais de sua aplicação:

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

HBRUSH hbrushEditBox = CreateSolidBrush(RGB(255, 255, 255));
HDC hdcEdit;
int id_edit_control;
HWND edit_window;


2 - Modifique ou adicione um case para a mensagem WM_CTLCOLOREDIT da seguinte forma:

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

case WM_CTLCOLOREDIT:
  hdcEdit = (HDC)wParam;
  edit_window = HWND(lParam);   
  id_edit_control = GetDlgCtrlID(edit_window);
		
  if(id_edit_control == IDC_EDIT1){
    SetBkMode(hdcEdit, TRANSPARENT);
    SetBkColor(hdcEdit,(LONG)hbrushEditBox);
    return (LONG)hbrushEditBox;
  }
	  
  return (LRESULT)CreateSolidBrush(RGB(255, 255, 255));

3 - A cor de fundo do Edit Control com ID IDC_EDIT1 será modificada para vermelho quando clicarmos no botão com o ID IDC_BUTTON1. Veja o case para este botão (dentro do case WM_COMMAND):

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

case IDC_BUTTON1: // ID do botão
 
  // Define uma nova cor de fundo para o Edit Control
  // com o ID IDC_EDIT1
  
  // Vermelho como cor de fundo
  hbrushEditBox = CreateSolidBrush(RGB(255, 0, 0));

  // Atualiza o Edit Control
  InvalidateRect(GetDlgItem(hwnd, IDC_EDIT1), 0, TRUE);
  
  break;



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á 69 usuários muito felizes estudando em nosso site.