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

Como capturar e tratar um erro EDOM (Erro de Domínio)

Quantidade de visualizações: 7392 vezes
/*
 Algumas funções matemáticas em C++ podem retornar
 um erro EDOM (Erro de domínio - Domain Error). Isso
 acontece quando estamos fornecendo valores fora
 do domínio da função.
 
 Veja um exemplo de captura deste erro quando
 tentamos extrair a raiz quadrade de um número
 negativo. 
*/

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  float numero = -27;
  
  // tenta obter a raiz quadrada de um
  // número negativo. Vai dar erro aqui
  float resultado = sqrt(numero);
  
  // em caso de erro, o código do
  // erro é armazenado na variável global errno 
  if(errno == EDOM)
    cout << "Erro de domínio\n\n";
  else
    cout << "Valor dentro do domínio esperado.\n\n";

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


Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de C++ - Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares

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

Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares existentes no intervalo [M, N] e imprimir a multiplicação desses números (os pares). Observe que os valores M e N devem ser fornecidos pelo usuário.

Nota: por se tratar de intervalo fechado [M, N], os números M e N devem ser incluídos na amostra. Além disso, seu código deve assegurar que M seja menor que N.

Sua saída deverá ser parecida com:

Informe o valor de M: 3
Informe o valor de N: 9
Números pares no intervalo [M, N]: 4, 6, 8,
Multiplicação dos números pares no intervalo [M, N]: 192
Resposta/Solução:

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

----------------------------------------------------------------------
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 na resolução do problema
  int m, n, i, multiplicacao = 1;
  
  // vamos pedir para o usuário informar os valores de M e N
  cout << "Informe o valor de M: ";
  cin >> m;
  cout << "Informe o valor de N: ";
  cin >> n;
  
  // M é menor que N?
  if(m >= n){
    cout << "M deve ser menor que N";
  }
  else{
    // mostra os números pares no intervalo
    cout << "Números pares no intervalo [M, N]: ";
    for(i = m; i <= n; i++){
      if(i % 2 == 0){
	cout << i << ", ";
	// aproveitamos para calcular a multiplicação dos números
	// pares no intervalo informado
	multiplicacao = multiplicacao * i;
      } 
    }
		
    // mostramos a multiplicação
    cout << "\nMultiplicação dos números pares no intervalo [M, N]: " <<
      multiplicacao << endl;
  }
  
  cout << "\n\n";
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}



C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída)

Como exibir a saída em um programa C++ usando o objeto cout

Quantidade de visualizações: 709 vezes
O objeto cout, presente no arquivo de cabeçalho iostream, é usado quando precisamos exibir a saída em nossos programas C++. Por ser um objeto da classe ostream, o objeto cout nos oferece muitos métodos, funções e propriedades que permitem um melhor controle sobre a formatação de saída.

Como o objeto cout é associada com o fluxo padrão de saída em um programação C++, as informações a serem exibidas na tela são fornecidas a ele por meio do operador de inserção (<<).

Veja um trecho de código no qual usamos o objeto cout para exibir o valor da constante matemática PI:

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

#include <string>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos obter o valor da constante PI
  double pi = M_PI;

  // vamos usar o objeto cout para exibir o resultado
  cout << "O valor de PI é: " << pi << endl;

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

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

O valor de PI é: 3.14159

Vamos ver mais um exemplo? Eis um código C++ que usa o objeto cin para ler dois valor informados pelo usuário e depois usa o objeto cout para exibir a soma dos dois valores:

----------------------------------------------------------------------
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[]){
  int a, b, soma;	
	
  // vamos ler dois valores
  cout << "Informe o primeiro valor: ";
  cin >> a;
  cout << "Informe o segundo valor: ";
  cin >> b;
 
  // vamos somar os dois valores
  soma = a + b;
  
  // e agora mostramos o resultado
  cout << "A soma dos valores é: " << soma << endl;

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

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

Informe o primeiro valor: 8
Informe o segundo valor: 5
A soma dos valores é: 13


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C++ - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles

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

Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número.

Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer.

Sua saída deverá ser parecida com:

Informe o primeiro número inteiro: 6
Informe o segundo número inteiro: 3
O maior número é: 6
Resposta/Solução:

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

----------------------------------------------------------------------
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;

// protótipo da função que receberá dois números inteiros
// e retornará o maior deles
int maior_numero(int num1, int num2);

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int num1, num2, maior;
  
  // vamos pedir para o usuário informar os dois números
  cout << "Informe o primeiro número inteiro: ";
  cin >> num1;
  cout << "Informe o segundo número inteiro: ";
  cin >> num2;
  
  // os números são iguais?
  if(num1 == num2){
    cout << "Erro. Os dois números são iguais.\n" << endl;
  }
  else{
    // vamos chamar a função para obter o número maior
    maior = maior_numero(num1, num2);
    cout << "O maior número é: " << maior << "\n" << endl;	
  }
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função que receberá dois números inteiros e retornará
// o maior deles
int maior_numero(int num1, int num2){
  // o primeiro número é maior que o segundo?
  if(num1 > num2){
    return num1;
  }
  else{
    return num2;
  }
}



Mais Desafios de Programação e 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á 64 usuários muito felizes estudando em nosso site.