ist es möglich in C++ zwei Werte aus einer Funktion zurückgeben zu lassen, bzw. ein ganzes Array?
Hintergrund ist, dass ich aus einer Funktion zwei Werte in die main zurückgeben will. Ist es dafür möglich ein ganzes Array zurückzugeben?
Das ganze soll ohne Zeiger funktionieren.
Das Programm soll die PQ-Formel ausrechnen und dafür sollen die Eingabe von P und Q sowie die Ausgabe der fertigen Ergebnisse in der main-Funktion realisiert werden und sämtliche Berechnungen in einer extra Funktion, dafür muss ich jedoch zwei Werte aus der extra Funktion zurückgeben.
Vielen Dank schon einmal im vor raus.
Gruß smite
Edit:
Mein aktueller Code:
// Funktion_5.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung. // #include "stdafx.h" #include #include using namespace std; double berechnung (double, double); bool wurzel (float, float); int main(int argc, char* argv[]) { double p, q, xeins, xzwei; cout<<"PQ-Formel loesen"< cout<<"(x*x)+px+q\n"< cout<<"Bitte p eingeben:\t"; cin>>p; cout<<"\nBitte q eingeben:\t"; cin>>q; xeins=berechnung (p, q); xzwei=berechnung (p, q); cout<<"Xeins:\t"<< cout<<"Xzwei:\t"<< system ("pause"); return 0; } //Berechnung es gesamten Ausdrucks double berechnung (double p, double q) { float xeins, xzwei; int i=0; bool tmp=wurzel (p, q); //die komplette Funktion sollte eigentlich in einen IF und einen Else Teil eingeteilt werden //beim ersten Durchlauf soltle i auf 1 gesetzt werden und beim folgenden Durchlauf soltle sofort //in den Else Teil gesprungen werden //Fehler ist, dass i bei jedem Aufruf der Funktion auf 0 gesetzt wird if (i==0) { i++; //Testausgabe ohne Bedeutung für das Programm cout<<"i:\t"<[i]< cout<<"IF-TEIL"< if (tmp==true) { xeins=(-(p/2))+ sqrt (((p/2)*(p/2))-q); return xeins; } else { cout<<"Gleichung nicht Loesbar, da die Wurzel negativ ist"< } } else { //Testausgabe ohne Bedeutung für das Programm cout<<"ELSE-TEIL"< xzwei=(-(p/2))- sqrt (((p/2)*(p/2))-q); return xzwei; } } //überprüft ob die wurzel positiv (>=0) ist (true), sonst false bool wurzel (float p, float q) { float tmp=((p/2)*(p/2))-q; bool wahr; if (tmp >=0) { wahr=true; } else { wahr=false; } return wahr; }[/i]
Bitte die Kommentare beachten
Dieser Beitrag wurde von smite bearbeitet: 09. Juni 2008 - 08:41