-
Anfängerproblem
Hi!
Ich bin hier ein bischen am Basten und ueben.
Ich will folgendes erreichen.
Der User soll 2 Zahlen eingeben. Einge Grundzahl (gzahl) und eine Hochzahl (hzahl).
Das Programm soll dann in der Funktion hoch Rechnen..
Vom Compiler her ist auch alles ok, zu mindest nörgelt er nicht rum und das Programm läuft.
Aber Rechnen tut er scheisse...
Hat jemand ne Idee was falsch ist?
########## schnipp ###########
#include <iostream>
using namespace std;
int hoch(int, int);
int main()
{
int gzahl;
int hzahl;
int ergeb;
cout << "Geben Sie die Grundzahl ein: ";
cin >> gzahl;
cout << "\nGeben Sie nun bitte die Hochzahl ein: ";
cin >> hzahl;
ergeb = hoch(gzahl, hzahl);
cout << "\n" << gzahl << " hoch " << hzahl << " ist: " << ergeb;
return 0;
}
int hoch(int a, int b)
{
for(int i = 0; i < b; i++)
{
a = a * a;
}
return a;
}
########## schnap ###########
Danke schon mal .
Kernel Error
-
die Berechnung stimmt nicht:
Code:
int hoch( int a, int b ) {
int res = 1;
for( int i = 0; i < b; i++ ) {
res = res * a;
}
return res;
}
sonst würde er z.b. bei 2 hoch 3 das machen:
2*2=4
4*4=16
16*16=256
Eric
-
Hi Kernel-Error,
bitte beim Code Posten Code-Tags verwenden, das macht es leichter lesbar.
Das geht im Posting Editor mit dem # Button.
Du kannst dein Posting auch noch nachträglich damit ausstatten.
Ciao,
_
-
Die Standard-API stellt übrigens hierfür die Funktion
Code:
double pow(double x, double y)
zur Verfügung.
btw : Ich gebs auf mit euren CODE-Tags :rolleyes:
-
Hi!
Erst einmal vielen Dank für eure Hilfe. :)
@ 3qualizer
Hätte ich auch selbst drauf kommen können... grrr..
Naja, wird noch kommen :)
Läuft aber genau so wie ichs wollte!
@anda_skoa
OK, werde ich in Zukunft beachten. Sorry!
@ReSeT
Ob du es glaubst oder nicht, das wusste ich. Nur, ich wollte es halt ohne diese Funkion erreichen. Halt mit einer eigenen. Damit dieses AHA und das Verständiss besser ist. Weisst was ich meine?
THX
Kernel Error