Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico

Como converter quilômetros em metros, centímetros e milímetros usando C++ - Exercícios Resolvidos de C++

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

Escreva um programa em C++ para converter quilômetros em metros, centímetros e milímetros. Seu programa deverá pedir para o usuário informar a quantidade de quilômetros e exibir as conversões solicitadas.

Como sabemos, um Quilômetro = 1000 Metros, 100.000 Centímetros ou 1.000.000 Milímetros.

Seu programa deverá exibir uma saída parecida com:

Informe a distância em quilômetros: 2.5
Distância em Quilômetros: 2.5
Distância em Metros: 2500.0
Distância em Centímetros: 250000.0
Distância em Milímetros: 2500000.0
Resposta/Solução:

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

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Link para compartilhar na Internet ou com seus amigos:

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

Como inverter uma string em C++ usando as funções begin(), end() e reverse()

Quantidade de visualizações: 13200 vezes
Em várias situações nós precisamos inverter a ordem dos caracteres de uma palavra, frase ou texto em C++. Para isso nós podemos usar uma combinação das funções begin(), end() e reverse() da biblioteca padrão do C++.

Veja o código 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> 
 
using namespace std;
 
// função principal do programa C++ 
int main(int argc, char *argv[]){
  // vamos declarar um objeto da classe string
  string frase = "Gosto de programar em C++";
     
  // vamos mostrar a string original
  cout << "String original: " << frase << endl;   
     
  // agora vamos usar a função reverse() para inverter o 
  // conteúdo da string
  reverse(frase.begin(), frase.end());
      
  // e mostramos o resultado    
  cout << "String invertida: " << frase << endl;;
     
  cout << "\n" << endl;	    
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

String original: Gosto de programar em C++
String invertida: ++C me ramargorp ed otsoG


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

Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++

Quantidade de visualizações: 14575 vezes
Como já vimos em outras dicas desta seção, uma classe C++ possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:

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

// definição da classe Produto
class Produto{
  public:
    void setNome(string);
    string getNome();
    void setPreco(double);
    double getPreco();
  
  private:
    string nome;
    double preco;
};

Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância.

Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma.

Métodos estáticos em C++ podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:

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

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

// classe Pessoa com duas variáveis privadas e 
// um método estático
class Pessoa{
  public:  
    // um método estático que permite verificar a validade
    // de um número de CPF
    static bool isCPFValido(string);
  
  private:
    string nome;
    int idade;
};

// implementação da classe Pessoa
bool Pessoa::isCPFValido(string cpf){
  // alguns cálculos aqui
  return true;
}

int main(int argc, char *argv[]){
  // vamos efetuar uma chamada ao método isCPFValido() sem
  // criar uma instância da classe Pessoa
  if(Pessoa::isCPFValido("12345")){
    cout << "CPF Válido" << endl;
  }
  else{
    cout << "CPF inVálido" << endl;
  }
    
  system("PAUSE");
  return EXIT_SUCCESS;
}

Aqui nós temos os códigos da definição e implementação da classe Pessoa em apenas um arquivo (main.cpp). Em uma aplicação real é interessante colocar estas partes em arquivos separados (.h e .cpp). Note que o método estático isCPFValido() foi declarado assim:

static bool isCPFValido(string);

Desta forma, podemos chamá-la a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja:

if(Pessoa::isCPFValido("12345")){}

É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:

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

bool Pessoa::isCPFValido(string cpf){
  // alguns cálculos aqui
  
  // vamos acessar a variável não estática nome
  nome = "Osmar J. Silva";
  
  return true;
}

vai gerar o seguinte erro de compilação:

invalid use of member `Pessoa::nome' in static member function.

Se usarmos this->nome a mensagem de erro de compilação será:

`this' is unavailable for static member functions.

Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias.


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como usar vetores e matrizes (arrays) na linguagem C++

Quantidade de visualizações: 37618 vezes
Vetores e matrizes, também chamados de arrays em programação, são grupos consecutivos de locais na memória que possuem o mesmo tipo de dados, ou seja, um vetor ou matriz em C++ pode conter apenas elementos do mesmo tipo.

Um vetor é uma matriz de um coluna e várias linhas, enquanto uma matriz é a matriz propriamente dita, ou seja, que possui várias linhas e várias colunas.

Veja um trecho de código no qual temos um vetor contendo 5 elementos do tipo int:

----------------------------------------------------------------------
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[])
{
  // declara e inicializa a matriz
  int valores[5] = {65, 3, 8, 41, 12};
 
  // exibe os elementos da matriz
  for(int i = 0; i < 5; i++){
    cout << "Posição: " << i <<
      " - Valor: " << valores[i] << endl;
  }
 
  system("PAUSE"); // pausa o programa
  return 0;
}

Ao executarmos este código nós teremos o seguinte resultado:

Posição: 0 - Valor: 65
Posição: 1 - Valor: 3
Posição: 2 - Valor: 8
Posição: 3 - Valor: 41
Posição: 4 - Valor: 12
Pressione qualquer tecla para continuar. . .

Aqui nós usamos a técnica de declarar e inicializar o vetor em uma mesma linha. Em seguida usamos um laço para percorrer todos os elementos. Veja que os elementos do vetor são acessados usando um índice que começa em 0 e vai até a quantidade de elementos menos 1.

Veja agora um trecho de código que declara um vetor e inicializa seus elementos usando um laço for:

----------------------------------------------------------------------
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[])
{
  // declara a matriz
  int valores[5];
 
  // inicializa os elementos usando um laço
  for(int i = 0; i < 5; i++){
    valores[i] = 2 * i;
  }
 
  // exibe os elementos da matriz
  for(int i = 0; i < 5; i++){
    cout << "Posição: " << i <<
      " - Valor: " << valores[i] << endl;
  }
 
  system("PAUSE"); // pausa o programa
  return 0;
}

Ao executarmos este código nós teremos o seguinte resultado:

Posição: 0 - Valor: 0
Posição: 1 - Valor: 2
Posição: 2 - Valor: 4
Posição: 3 - Valor: 6
Posição: 4 - Valor: 8
Pressione qualquer tecla para continuar. . .

É importante notar que, se não inicializados, os valores dos elementos de um vetor poderão guardar valores aleatórios. Jamais confie que eles terão o valor 0 por padrão.


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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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