Kann mir jemand helfen?

Guten Tag,

ich kriege das c++ programm nicht kompiliert!! bekomme immer eine fehlermeldung bei diesem befehl:
fakultaet_von_n* = i;

das ist das programm:
#include

using namespace std;
int main ()
{
int n;

while (n != 0)
{ cout> n ;

int fakultaet_von_n = 1;
for (int i = 2; i

Guten Tag,

ich kriege das c++ programm nicht kompiliert!! bekomme immer
eine fehlermeldung bei diesem befehl:
fakultaet_von_n* = i;

Welche denn? Ist das ein Tippfehler, oder wolltest Du nicht lieber den Operator *= verwenden? Der Stern klebt an der falschen Stelle.

Unabhängig davon: Was ist denn bei dir 17!?

Gruß

Fritze

hallo,
danke für deine Antwort. Wieso falsche Stelle!!! das programm habe ich von einem Buch kopiert, also es müsste schon richtig sein! wo soll den der *operator hin!???

danke im voraus

Hallo Fritz,

ich habe das heute mal im buch gefunden!!! ich habe endlich die richtige stelle von dem *Operator gefunden.

Trotzdem vielen vilen dank.

Hallo,

ich habe das heute mal im buch gefunden!!! ich habe endlich
die richtige stelle von dem *Operator gefunden.

Der „*=“ Operator ist eine Abkürzung für „assignment by multiplication“: Nimm den aktuellen Inhalt des linken Operanden, multipliziere mit dem rechten Operanden und überschreibe mit dem Ergebnis den Inhalt des linken Operanden.

a \*= b;

ist identisch mit

a = a \* b;

Es gibt analog /=, += und -=.

Worauf ich mit meiner zweiten Frage hinaus wollte: Wie groß sind auf Deinem Rechner die „signed int“ und was passiert, wenn das Ergebnis zu einem Überlauf führt? Das kann bei „Fakultät“ recht schnell passieren.

Entweder, du begrenzt die Größen bei der Eingabe, oder aber Du prüfst, ob es zu einem Überlauf gekommen ist und gibst nen Fehler aus.

Andernfalls können die Ergebnisse beliebig falsch sein und damit das Programm wertlos!

Gruß

Fritze