Ableiten mit Schleife funzt net
-
Hallo, ich will ein Programm zum n-fachen Ableiten von Potenzausdrücken mit Vorfaktor mit Schleife in C++ schreiben.
// Diese .exe führt ein Ableiten von Potenzausdrücken für Differentialrechnungen durch. # include <iostream> # include <math> using namespace std; int main () { cout << " Geben Sie den Potenzkoeffizienten ein!\n"; double k; cin >>k; if (k==0) { cout << " Alle Ableitungen sind 0.\n"; cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); return 0; } else { cout << " Geben Sie den Exponenten ein!\n"; double p; cin >>p; double kNeu, pNeu; int Grad; Grad = 1; while (pNeu > 1) { kNeu = (p*k); pNeu = --p; cout << "Sei die Basis x, so lautet Ihre "<<Grad<<". Ableitung nach x: " << kNeu<<" x^ "<<pNeu<< "\n"; Grad++; } } }Problem:
C++ kommt nie bis "Sei die Basis..." sondern bricht nach der Eingabe vom Exponenten ab.
So etwa in C++ builder x von borland:
C:\Dokumente und Einstellungen\Thomas Zettler\cbproject\Ableiten_von_Potenzsummen\windows\Release_Build\Ableiten_von_Potenzen.exe
Geben Sie den Potenzkoeffizienten ein!3
Geben Sie den Exponenten ein!4
ohne Schleife konnte ich für einfaches ableiten hiermit
// Diese .exe führt ein Ableiten von Potenzausdrücken für Differentialrechnungen durch. # include <iostream> # include <math> using namespace std; int main () { cout << " Geben Sie den Potenzkoeffizienten ein!\n"; double k; cin >>k; if (k==0) { cout << " Alle Ableitungen sind 0.\n"; cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); return 0; } else { cout << " Geben Sie den Exponenten ein!\n"; double p; cin >>p; double kNeu, pNeu; int Grad; Grad = 1; kNeu = (p*k); pNeu = --p; cout << "Sei die Basis x, so lautet Ihre "<<Grad<<". Ableitung nach x: " << kNeu<<" x^ "<<pNeu<< "\n"; } }schon eine korrekte Ausabe mit dem Text "Sei die Basis..." erreichen.
Wo liegt mein Fehler in der Erweiterung des 2. Codeblocks mit der while - loop im Code Block 1??
Es treten in der IDE keine Fehler zur compile Zeit auf!
LG kasimirle.
-
double kNeu=k, pNeu = p; //Zuweisung fehlt int Grad; Grad = 1; while (pNeu > 1) { kNeu = (p*kNeu); pNeu--; // musst du auch noch ändern cout << "Sei die Basis x, so lautet Ihre "<<Grad<<". Ableitung nach x: " << kNeu<<" x^ "<<pNeu<< "\n"; Grad++; } }