Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

valor do objeto devolvendo endereço na memoria

Olá estou fazendo um programa para um trabalho na faculdade e gostaria de tirar uma duvida, esse é o meu código:

#include <stdlib.h>
#include <iostream>
#include <string>
#include <vector>
#include <locale.h>
using namespace std;

class Filial {
    public:
        int numeroFilial;
        double valor1, valor2, valor3, valorTotalFilial;
        Filial(int numeroFilial, double valor1,double valor2,double valor3){
            numeroFilial = numeroFilial;
            valor1 = valor1;
            valor2 = valor2;
            valor3 = valor3;
        }
        void calculoValorTotalFilial(){
            valorTotalFilial = valor1+valor2+valor3;
        }
};
int main() {        
  bool programa = true;
  int opcao = 0, numero;
  double mes1,mes2,mes3,valorTotalEmpresa;
  setlocale(LC_ALL, "Portuguese");
  std::vector<Filial> filiais;
  while(programa){
      cout << "\n*** OPÇÕES ***";
    cout << "\n0 - Sair do programa \n1 - Cadastrar filial \n2 - Resultado";
    cout << "\nDigite a opção desejada: ";  
    cin >> opcao;
      switch(opcao) {
          case 0:
              programa = false;
              cout << "Sair do porgrama";
            break;
        case 1:
            system("cls");
            cout << "Cadastro de filial\n";
            cout << "digite o numero da filial: ";
            cin >> numero;
            cout << "digite o valor do mês 1: ";
            cin >> mes1;
            cout << "digite o valor do mês 2: ";
            cin >> mes2;
            cout << "digite o valor do mês 3: ";
            cin >> mes3;
            filiais.push_back(Filial (numero,mes1,mes2,mes3));
            break;
        case 2:
            cout << "==> Resultado das filias e total <==";
            for (int i = 0; i < filiais.size(); i++){
                filiais[i].calculoValorTotalFilial();
                cout << "\n\nFilial: " << filiais[i].numeroFilial;
                cout << "\nValor mês 1: " << filiais[i].valor1;
                cout << "\nvalor mês 2: " << filiais[i].valor2;
                cout << "\nvalor mês 3: " << filiais[i].valor3;
                cout << "\nvalor total da filial: " << filiais[i].valorTotalFilial;
                cout << "\n\n=========================================";
                valorTotalEmpresa += filiais[i].valorTotalFilial;
            }
            cout << "\nTotal do Restaurante: " << valorTotalEmpresa;
            cout << "\n\n";
            break;
        default:
            cout << "\nOpção invalida digite\n\n\n\n";    
    }
  } 
  return 0;
}

na parte que eu acesso o numero e o valor do objeto no vector me retorna o numero da memoria e não o valor, como poderia resolver isso? existe algum método semelhante ao toStrint() do java em C++?

2 respostas
solução!

consegui resolver, fiz um método dentro da classe para passar as informações.

        void resultado(){
            cout << "\n\nFilial: " << numeroFilial;
            cout << "\nValor mês 1: " << valor1;
            cout << "\nvalor mês 2: " << valor2;
            cout << "\nvalor mês 3: " << valor3;
            cout << "\nvalor total da filial: " << valorTotalFilial;
            cout << "\n\n=========================================";
        }

Olá Leonardo!

Que bom que conseguiu resolver!

Ah, só não esqueça de fechar o tópico.

Bons estudos e muito sucesso, meu jovem!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software