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

O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo C++ que - Lista de Exercícios Resolvidos de C++

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

O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo C++ que, sendo fornecido a distância total percorrida pelo automóvel e o total de combustível gasto, mostre o consumo do automóvel.

Sua saída deverá ser parecida com:

Distância total (kms): 650
Combustível gasto (litros): 52
O consumo do veículo foi: 12.5 kms/litro
Resposta/Solução:

Veja a resolução 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>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  double distancia, combustivel_gasto, consumo;
	  
  // vamos ler a distância total em quilômetros
  cout << "Distância total (kms): ";
  cin >> distancia;
    
  // vamos ler o total de combustível gasto em litros
  cout << "Combustível gasto (litros): ";
  cin >> combustivel_gasto;
    
  // agora vamos calcular o consumo do automóvel
  consumo = distancia / combustivel_gasto;
    
  // e mostramos o resultado
  cout << "O consumo do veículo foi: " << consumo << " kms/litro";
  
  cout << "\n\n";
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: STL (Standard Template Library) ::: Vector C++

Como retornar a quantidade de elementos em um vector do C++ usando a função size()

Quantidade de visualizações: 7117 vezes
Em algumas situações nós precisamos obter o tamanho, ou seja, a quantidade de elementos contidos em um container vector da STL (Standard Template Library). Isso pode ser feito por meio da função-membro size(). Veja sua assinatura:

size_type size() const;


Aqui size_type é um tipo integral sem sinal. Veja um exemplo no qual obtemos a quantidade de elementos atualmente no vector:

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

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá inteiros
  vector<int> valores;

  // vamos inserir três elementos
  valores.push_back(54);
  valores.push_back(13);
  valores.push_back(87);

  // vamos obter a quantidade de elementos no vector
  int quant = valores.size();

  // exibe o resultado
  cout << "O vector contém " << quant << " elementos." << endl;

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

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

O vector contém 3 elementos.

Note que o número de elementos em um vector é diferente de sua capacidade. Um vector pode ter uma capacidade de 10 elementos mas conter apenas 3 elementos no momento. A capacidade de um vector é aumentado automaticamente à medida que novos elementos são adicionados.


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: 15742 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++.


C++ ::: STL (Standard Template Library) ::: Vector C++

Como criar um vector de strings em C++, inserir alguns nomes usando a função push_back() e percorrê-los usando um iterador

Quantidade de visualizações: 11004 vezes
Se você tem pouca experiência com a classe container vector da STL (Standard Template Library), este exemplo o ajudará um pouco. Aqui eu mostro como criar um vector de strings em C++, inserir alguns nomes nele usando a função push_back() e depois percorrê-los individualmente usando um iterador.

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>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá strings
  vector<string> nomes;

  // vamos inserir três nomes
  nomes.push_back("Osmar J. Silva");
  nomes.push_back("Carlos de Souza");
  nomes.push_back("Maria Dias de Carvalho");

  // vamos percorrer o vector e exibir os nomes
  vector<string>::iterator it;
  for(it = nomes.begin(); it < nomes.end(); it++){
    cout << *it << endl;
  }

  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Osmar J. Silva
Carlos de Souza
Maria Dias de Carvalho


Vamos testar seus conhecimentos em AutoCAD Civil 3D

A paleta Toolspace

Qual aba da paleta Toolspace é usada para exibir os objetos do Civil 3D em uma lista resumida e expansível?

A) Settings

B) Prospector

C) Toolbox

D) Survey
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Topografia

Azimute e Rumo

FCC-2014 - Na realização de um levantamento topográfico, foi determinado o azimute para o alinhamento 0-1, igual a 295º 32'. O rumo para este alinhamento é de:

A) 25º 32'.

B) 64º 28'.

C) 25º 32' NW

D) 64º 28' NW

E) 295º 32' NW
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações rasas

Uma fundação do tipo radier é, convencionalmente, uma laje de concreto usada quando, EXCETO:

A) O solo é mole, com baixa capacidade de carga.

B) É necessário combater a sobrepressão hidrostática.

C) Há ocorrência de bolsões de solos moles variáveis sob a projeção da estrutura.

D) A sapata corrida cobre 40% acima da área de fundação por causa de cargas elevadas de pilares.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Perda de Carga Localizada, Acessórios de Tubulação

Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?".

Qual o comprimento equivalente das perdas de cargas singulares da tubulação anteriormente citada, considerando que o tubo perde linearmente 0,135 m de carga por metros de tubulação?

Selecione a resposta:

A) 9 m.

B) 14 m.

C) 10 m.

D) 12 m.

E) 8 m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Estrutura e propriedade dos materiais

Os materiais podem ser de várias classes de acordo com as suas propriedades.

O objetivo de estudar suas tecnologias consiste em:

A) controlar precisamente e individualmente os átomos para fabricar materiais com propriedades e desempenho específicos.

B) fabricar materiais com novas propriedades.

C) controlar as propriedades dos materiais.

D) estudar e produzir materiais a nível macro para fabricar materiais com propriedades específicas.

E) controlar os átomos, em geral, para fabricar materiais com desempenho específico.
Verificar Resposta Estudar Cards Todas as Questões

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