嗯,我想在我的程序中做一些基本的操作,比如減法和乘法... 我定義了「get」併爲我的類設置了方法....但是當我將多重操作應用到double和一個int,我得到的值,如:1.7E-3.17 ....爲什麼我在用double乘以int時會出錯值?
這裏是我的代碼: 是西班牙語,但...我相信你會明白
MAIN:
#include <cstdlib>
#include <iostream>
#include "Tienda.h"
#define numeroClientes 2
using namespace std;
int main(int argc, char *argv[])
{
Cliente arregloClientes[numeroClientes];
string name;
int day, amount,i;
Tienda tienda = Tienda();
for(i=0; i<numeroClientes; i++){
system("cls");
cout<<"Ingrese el nombre del cliente: ";
cin>>name;
arregloClientes[i].setNombre(name);
cout<<"Ingerese numero de garrafones: ";
cin>>amount;
arregloClientes[i].setNumeroGarrafones(amount);
cout<<"Ingrese el dia de la compra"<<endl;
cout<<"0; Lunes 1; Martes 2; Miercoles 3; Jueves 4; Viernes: ";
cin>>day;
arregloClientes[i].setDia(day);
}
//Calculo del monto a pagar
for(i=0; i<numeroClientes; i++){
tienda.calcular(arregloClientes[i]);
}
system("cls");
//Impresion de los datos
for(i=0; i<numeroClientes; i++){
cout<<"------------------------"<<endl;
arregloClientes[i].imprimir();
}
cout<<"------------------------"<<endl;
tienda.imprimir();
cout<<"\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
class Cliente {
/* Atributos privados */
private:
string nombre;
int numeroGarrafones;
int dia; // 1 - 5
double totalCancelar;
/* Metodos publicos */
public:
string getNombre();
int getNumeroGarrafones();
int getDia();
double getTotalCancelar();
void setNombre(string nomb);
void setNumeroGarrafones(int nG);
void setDia(int d);
void setTotalCancelar(double tC);
void imprimir();
string imprimirDia();
}; // fin de clase Cliente
的問題是在這裏:
void Tienda::calcular(Cliente persona){
double aux,total;
int garrafones= persona.getNumeroGarrafones();;
arregloDias[persona.getDia()]= arregloDias[persona.getDia()] + persona.getNumeroGarrafones();
aux = garrafones * precioVenta - garrafones * precioCosto;
ganancia = ganancia + aux;
total = garrafones * precioVenta;
persona.setTotalCancelar(total);
} // fin de calcular
This one:
aux = garrafones * precioVenta - garrafones * precioCosto;
操作乘法......我
的人都知道發生什麼事之前說的生成的數字?
您可能忘記了初始化。確保您正在進行操作的變量已初始化爲某個值 – dchhetri
我確信您可以在簡單的自包含程序中重現問題。如果你這樣做,並張貼明智的縮進和格式,更有可能閱讀它。 – Useless
在該行上設置了一個斷點,並檢查'aux','garrafones','precioVenta'和'precioCosto'的值是什麼,這應該可以幫助您確定發生了什麼。 –