Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida em calculo do C++

Olá, estou tendo uma dúvida em um programa que estou fazendo no C++. Estava estudando os módulos de C porém inves de usar a lib <stdio.h> estava utilizando direto o C++ com <..iostream> (estudando por fora). Porém eu to com um problema q não tenho noção do erro (essa seria uma questão de CP que não to conseguindo achar resolução) =(

#include <iostream>

using namespace std;

void solve(double meal_price, int tax_price, int tip_price){

  double var_x = meal_price * (tax_price/100); // == 2.4
  cout << var_x << endl; // Inves de sair os 2.4 acaba saindo 0

  double var_t = meal_price * (tip_price/100); // == 0.96
  cout << var_t << endl; // Mesmo caso, inves de sair 0.96 sai 0

  double var_i = var_x + var_t + meal_price;  // Era pra sair 15.36

  int var_total = int (var_i);  // Arredonda transformando em int

  cout << "Total value: " << var_total << endl; 

// Output deveria sair estar saindo como 15 porém só vem 12 pelos 0
}
int main()
{
  double meal = 12.00;
  int tax = 20;
  int tip = 8;

  solve(meal, tax, tip);

  return 0;
}
1 resposta
solução!

Bom, foi só pensar um pouco sobre aqui e já descobri o erro. Pois a formula que estava colocando era um INT e eu queria q se transformasse em DOUBLE. Dai acabava dando 0 toda hora. Só foi eu alterar os operadores que consegui resolver

double var_x = tax_price * (meal_price/100); // 2.4
  cout << var_x << endl;
  double var_t = tip_price * (meal_price/100); // 0.96
  cout << var_t << endl;