Você está aqui: C++ ::: Dicas & Truques ::: Matemática e Estatística

Calculando a raiz quadrada de um número

Quantidade de visualizações: 47033 vezes
/*
 Este exemplo mostra como calcular a raiz quadrada
 de um número. As funções disponíveis em C++ são:
 		
 float sqrt(float num);
 double sqrt(double num);
 long double sqrt(long double num);

 Se a função sqrt() for chamada com um número negativo,
 um erro de domínio domain error ocorrerá. 
*/

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  float numero = 9;
  
  cout << "A raiz quadrada de " << numero <<
    " é " << sqrt(numero) << "\n\n"; 

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


Link para compartilhar na Internet ou com seus amigos:

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

Como embaralhar os caracteres de uma string em C++ usando a função random_shuffle()

Quantidade de visualizações: 12828 vezes
Em algumas situações, tais como o desenvolvimento de um gerador de senhas aleatórias, pode ser necessário embaralharmos as letras de uma palavra. Em C++ isso pode ser feito por meio do uso da função random_shuffle() da STL (Standard Template Library). Não se esqueça de efetuar uma chamada a srand() antes do código que embaralha os caracteres 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>
#include <algorithm>
#include <time.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos iniciar o gerador de números
  // aleatórios
  srand(time(NULL));

  // vamos criar uma string
  string palavra = "JAVASCRIPT";
  cout << "Palavra original: " << palavra << endl;
  
  // vamos embaralhar as palavras da string
  random_shuffle(palavra.begin(), palavra.end());

  // exibe o resultado
  cout << "Palavra com caracteres embaralhados: " << palavra << "\n\n";

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

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

Palavra original: JAVASCRIPT
Palavra com caracteres embaralhados: RPSAITCVAJ


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de C++ - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 10055 vezes
Exercícios Resolvidos de C++ - Calculando e exibindo os números primos entre 2 e 100

Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). A saída do programa deverá ser parecida com:

Numeros primos entre 2 e 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

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

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

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // limite dos números primos (incluindo)
  int limite = 100;
               
  // Lembre-se! O número 1 não é primo
  cout << "Numeros primos entre 2 e " << limite << endl;
  
  // laço que percorre os valores de 2 até o limite desejado
  for(int i = 2; i <= limite; i++){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (i / 2); j++){
      if(i % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if(primo){
      cout << i << " ";
    }
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



C++ ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em C++ - Como usar construtores em suas classes C++

Quantidade de visualizações: 15794 vezes
Quando um objeto de uma classe C++ é criado, a linguagem chama um construtor para tal classe. Se nenhum construtor estiver definido, um construtor padrão é invocado. Este construtor aloca memória para o objeto, mas não o inicializa.

Um construtor é um método que definimos em nossas classes C++ e que possui o mesmo nome da classe. Um construtor não possui tipo de retorno e não retorna nenhum valor. Em geral construtores são públicos, mas, é possível termos construtores privados. Neste caso, somente um método estático da classe poderia criar novos objetos da classe (quando puder dê uma olhada no padrão de projeto Singleton).

O uso mais frequente dos métodos construtores é quando queremos inicializar valores das variáveis e demais recursos no momento da criação de uma nova instância da classe. Esta é uma técnica útil, visto que não precisamos dispor de esforço extra para inicializar as variáveis de instância de um objeto, individualmente, após sua criação.

Vamos ver um exemplo da definição e uso de construtores em uma classe C++? Comece analisando o código para o arquivo de definição da classe Pessoa:

Código para Pessoa.h:

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

// vamos evitar múltiplas inclusões do
// arquivo de cabeçalho (header file)
#ifndef PESSOA_H
#define PESSOA_H

// vamos incluir o header string
#include <string>

using namespace std;

class Pessoa{
  public:
    // construtor da classe Pessoa
    Pessoa(string, string, int);
    // método que permite retornar o nome da pessoa
    string getNome();
    // método que permite retornar o e-mail da pessoa
    string getEmail();
    // método que permite retornar a idade da pessoa
    int getIdade();
  private:
    // variáveis privadas
    string nome;
    string email;
    int idade;      
};

#endif

Veja a assinatura do método construtor:

Pessoa(string, string, int);

Note que na lista de parâmetros do construtor não precisamos informar os nomes dos parâmetros, apenas seus tipos. Veja agora o arquivo de implementação para esta classe:

Código para Pessoa.cpp:

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

// arquivo de implementação para a 
// classe Pessoa

// vamos incluir o header Pessoa.h
#include "Pessoa.h"

// implementação do construtor
Pessoa::Pessoa(string nome, string email, int idade){
  this->nome = nome;
  this->email = email;
  this->idade = idade;
}

// método que permite obter o nome da pessoa
string Pessoa::getNome(){
  return this->nome;                  
}

// método que permite obter o email da pessoa
string Pessoa::getEmail(){
  return this->email;                  
}  

// método que permite obter a idade da pessoa
int Pessoa::getIdade(){
  return this->idade;                  
}    

Note que na implementação do método construtor nós recebemos os argumentos para os parâmetros e os usamos para inicializar as variáveis privadas da instância da classe. Observe o uso do ponteiro this para nos referirmos à instância atual da classe Pessoa.

Finalmente, veja o código para o método main() do programa. É aqui que criamos um novo objeto da classe Pessoa e usamos seu método construtor para inicializar suas variáveis privadas de uma só vez:

Código para main.cpp:

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

#include <cstdlib>
#include <iostream>

// vamos incluir a classe Pessoa
#include "Pessoa.h"

using namespace std;

int main(int argc, char *argv[])
{
    // vamos criar um novo objeto da classe Pessoa
    Pessoa *p = new Pessoa("Osmar J. Silva", 
      "osmar@arquivodecodigos.net", 38);    
    
    // vamos exibir os dados da pessoa
    cout << "Nome: " << p->getNome() << endl;
    cout << "E-Mail: " << p->getEmail() << endl;
    cout << "Idade: " << p->getIdade() << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Além do construtor, uma classe C++ possui também um método destrutor. Veja minhas dicas relacionadas a este assunto para aprender como definir e usar destrutores em suas classes C++.


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