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

Escreva um programa em C++ para ler, calcular e escrever a média aritmética entre dois números - Exercícios Resolvidos de C++

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

Escreva um programa em C++ para ler, calcular e escrever a média aritmética entre dois números.

Sua saída deverá ser parecida com:

Informe um número: 9
Informe outro número: 2
A média entre os dois números é: 5.5
Resposta/Solução:

Veja a resolução completa para o exercício em C++, comentada linha a linha:

----------------------------------------------------------------------
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 n1, n2, media;

  // vamos ler o primeiro número
  cout << "Informe um número: ";
  cin >> n1;

  // vamos ler o segundo número
  cout << "Informe outro número: ";
  cin >> n2;

  // agora vamos calcular a média aritmética
  media = (n1 + n2) / 2;

  // e mostramos o resultado
  cout << "A média entre os dois números é: " << media;
  
  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 uma referência ao primeiro elemento de um vector C++ usando a função front()

Quantidade de visualizações: 6586 vezes
O primeiro elemento em um contêiner STL vector do C++ pode ser acessado por meio da função front(). Como esta função é sobrecarregada, temos duas opções:

reference front();
const_reference front() const;  
A primeira versão é do tipo T&, ou seja, retorna uma referência ao primeiro elemento. Veja:

----------------------------------------------------------------------
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á inteiros
  vector<int> valores;

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

  // vamos obter o valor do primeiro elemento do vector
  // Note que front() pode ser usada dos dois lados
  // de uma operação de atribuição
  int valor = valores.front();
  cout << "Primeiro elemento: " << valor << endl;

  // vamos alterar o valor do primeiro elemento
  valores.front() = 102;

  // vamos testar o resultado
  cout << "Primeiro elemento: " << valores.front() << endl;

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

Note que aqui nós usamos:

int valor = valores.front();
para guardar o valor do primeiro elemento na variável valor. Poderíamos também usar:

int& valor = valores.front();
valor = 102;
Agora valor é uma referência direta ao primeiro elemento do vector. Desta forma, qualquer alteração no valor da variável valor afetará também o primeiro elemento do vector.

Observe agora o seguinte trecho de código:

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

int valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
cout << "Primeiro elemento: " << valor << endl;

Aqui nós acessamos o valor do primeiro elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.front(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 54. De fato, o que gostaríamos é que uma alteração em valores.front() afetasse também a variável valor. Assim:

int& valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
cout << "Primeiro elemento: " << valor << endl;
Mas, como evitar alterações diretas na variável valor? Podemos declarar valor como uma referência constante, ou seja, usar a segunda versão da função front(), a saber const T&, que retorna uma referência constante. Veja:

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

const int& valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
valor = 300; // esta linha não compila
cout << "Primeiro elemento: " << valor << endl;

Agora o efeito que queríamos é alcançado. Alterações em valores.front() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora.


C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Arquivos e diretórios em C++ - Como excluir um arquivo usando a função remove() do C++

Quantidade de visualizações: 10294 vezes
Em algumas situações nossos códigos C++ precisam excluir arquivos. Isso pode ser feito com o auxílio da função remove() ou _remove(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:

int remove(const char *filename);


Se o arquivo for excluído com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como um dos seguintes valores:

a) ENOENT - No such file or directory - O caminho do arquivo é inválido;

b) EACCESS - Acesso negado - Algum outro programa está usando este arquivo e mantém controle sobre o mesmo.

Veja um trecho de código no qual excluimos um arquivo:

----------------------------------------------------------------------
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[]){
  // vamos excluir este arquivo
  char arquivo[] = "C:\\Dev-Cpp\\arquivo.txt";

  // vamos testar se o arquivo foi excluído com sucesso
  if(remove(arquivo) != 0){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Arquivo excluído com sucesso" << endl;
  }

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

É possível usar a versão Unicode de remove(). O método _wremove(), também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja 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;

int main(int argc, char *argv[]){
  // vamos excluir este arquivo
  wchar_t arquivo[] = L"C:\\Dev-Cpp\\arquivo.txt";

  // vamos testar se o arquivo foi excluído com sucesso
  if(_wremove(arquivo) != 0){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Arquivo excluído com sucesso" << endl;
  }

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

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

Arquivo excluído com sucesso.


C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C++

Quantidade de visualizações: 930 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C++.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem C++:

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

#include <iostream>
#include <math.h>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char *argv[]){
  float c = 36.056; // medida da hipotenusa
  float b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da cateto oposto
  float a = sqrt(pow(c, 2) - pow(b, 2));
 
  // e mostramos o resultado
  cout << "A medida do cateto oposto é: " << a << "\n\n";
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

A medida do cateto oposto é: 20.0009

Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada.


Vamos testar seus conhecimentos em Ética e Legislação Profissional

Responsabilidade civil dos prepostos e preponentes

De acordo com as definições de preposto gerente, assinale a alternativa correta.

A) O gerente é autorizado a praticar todos os atos necessários ao exercício dos poderes que lhe foram outorgados, mesmo que a lei exija poderes especiais para tal.

B) O gerente responde sozinho pelos atos praticados em seu nome e em nome do preponente.

C) O preponente pode estar em juízo em nome do gerente, pelas obrigações resultantes do exercício da sua função.

D) Considera-se gerente o preposto permanente no exercício da empresa, em sua sede, filial ou agência.

E) Os gerentes são responsáveis pelos atos dos preponentes, praticados nos seus estabelecimentos e relativos à atividade da empresa, ainda que não autorizados por escrito.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Formas: Confecção e colocação

Durante a execução e cura de estruturas em concreto armado, as formas são submetidas a diversos tipos de solicitações, desde a montagem, passando pelo lançamento do concreto, peso da massa e armadura, etc. Sobre esses esforços, assinale a alternativa correta.

A) As formas dos pilares são mais solicitadas por cargas verticais.

B) As formas de lajes são mais solicitadas por cargas horizontais.

C) O peso da armadura é o principal esforço sobre qualquer tipo de forma.

D) As formas das vigas são mais solicitadas por esforços verticais.

E) O peso da armadura é determinante no dimensionamento da forma de vigas.
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

Dimensionamento de pilares de canto

A determinação do momento atuante em um pilar de canto é um dos pontos principais no dimensionamento de armaduras.

Analise o pilar do exemplo a seguir:



Qual o valor do momento total na direção mais crítica?

A) Md, total,x = 3.500KN.cm.

B) Md, total,x = 7.352,84KN.cm.

C) Md, total,x = 5.012KN.cm.

D) Md, total,x = 1.569KN.cm.

E) Md, total,x = 2.569KN.cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Analise o seguinte código Python

a = {5, 8, 2, 1}
b = {1, 4, 5, 3}
c = a & b
print(c)

Qual é o resultado de sua execução?

A) {5, 5, 1, 1}

B) Um erro de execução na linha 2

C) {1, 5}

D) {5, 8, 2, 1, 1, 4, 5, 3}
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á 22 usuários muito felizes estudando em nosso site.