Makro
-
Kann mir jemand sagen wieso das mit dem Makro nicht funktioniert?
/******************************************** ********Berechnung der Lorentz-Kraft********* ********************************************/ //Datum: 14.07.2014 //Autor: Andreas Lauer //Thema: Berechnung der Lorentz-Kraft #include <iostream> #define e 1,602176565E-19 using namespace std; int main() { double v[3]; double B[3]; double Fl[3]; double erg[3]; cout<<"Bitte geben Sie die Geschwindigkeit in x,y und z - Koordinaten in [m/s] an: "<<endl; for(int i=0; i<3; i++) { cin>>v[i]; } cout<<"Bitte geben Sie die Magnetische Flussdichte in x,y und z - Koordinaten in [Ws/Am²] an: "<<endl; for(int i=0; i<3; i++) { cin>>B[i]; } Fl[0]=v[1]*B[2]-v[2]*B[1]; Fl[1]=v[2]*B[0]-v[0]*B[2]; Fl[2]=v[0]*B[1]-v[1]*B[0]; cout<<"Das Lorentz-Kraft ist: "<<endl; erg[0]=-Fl[0]*e; erg[1]=-Fl[1]*e; erg[2]=-Fl[2]*e; cout<<erg[0]<<endl; cout<<erg[1]<<endl; cout<<erg[2]<<endl; return 0; }
-
1,602176565E-19ist nicht das gleiche wie
1.602176565E-19Du willst das zweite. Das erste hat den Komma-Operator drin, das macht etwas anderes, ergibt aber in diesem Fall interessanterweise auch validen Code.

Nur so nebenbei, Makros würde ich für sowas in C++ nicht verwenden. Bei
const double E = 1,602176565E-19;wäre das aufgefallen.

-
Nimm einen Dezimalpunkt:
mhm ... zu spät

-
dummer Fehler danke
-
const double E = (1,602176565E-19);