Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
// Entweder:
rechner_potenz* pRechner = new rechner_potenz();
pRechner->rechner_quadrat();
// Oder
rechner_potenz rechner = rechner_potenz();
rechner.rechner_quadrat();
// Oder eben:
rechner_potenz rechner;
rechner.rechner_quadrat();
Da hast du dich jetzt an C# oder Java angelehnt
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class rechner_potenz {
public:
int n;
int a;
int rechner_quadrat (int a,int n = 2) {
int ergebnis;
if (a || n == 0) {
return 1;
}
else {
for (int i=1; i<=n; i++) {
ergebnis = ergebnis*a;
}
return ergebnis;
}
}
};
int main(int argc, char *argv[])
{
rechner_potenz rechner;
cout << rechner.rechner_quadrat(2,3);
string egal;
cin >> egal;
return 0;
}
Das kommt einfach daher weil du es falsch berechnest. Ich weiß ja nicht was die Funktion machen soll, aber deine Schleife macht überhaupt keinen Sinn, da am Ende in ergebnis immer n * a steht. Da könntest du die Schleife auch gleich weglassen. (Sorry, da hab ich mich verguckt. Mea culpa :-()Ok ,aber irgendwie wschaffe ich es immer noch nicht.
Wenn ich die Funktion mit den Werten 2,3 aufrufe bekomm ich als Ergebnis 1.
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class rechner_potenz {
public:
int n;
int a;
int rechner_quadrat (int a,int n = 2) {
int ergebnis=a; //Muss sein, sonst nimmst du unten irgendwas mal a.
if (n == 0) { //wenn du hier a stehen kannst, wird das immer zu true -> Ergebnis immer 1
return 1;
}
else {
for (int i=2; i<=n; i++) { //da oben schon ergebnis=a, beginnen wir hier mit i=2
ergebnis = ergebnis*a;
}
return ergebnis;
}
}
};
int main(int argc, char *argv[])
{
rechner_potenz rechner;
cout << rechner.rechner_quadrat(2,3);
string egal;
cin >> egal;
return 0;
}
int Aussehen::Menue () {
int Hoechstwert = 2;
string Menuepunkte [Hoechstwert];
Menuepunkte[0] = "Rechner";
Menuepunkte[1] = "Beenden";
for (int i = 0; i <= Hoechstwert - 1; i++) {
cout << Menuepunkte[i] << " (" << i+1 << ") ";
}
int MenuepunktBenutzer;
bool Eingabe;
do {
cout << endl << "Fuer welchen Punkt haben sie sich entschieden?" << endl;
cin >> MenuepunktBenutzer;
if (MenuepunktBenutzer > Hoechstwert) {
cout << endl << "Ihr angegebener Wert ist falsch!";
Eingabe = false;
} else {
Eingabe != true;
}
} while (Eingabe = false);
return MenuepunktBenutzer;
}