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

Hilfe
Neues Thema
Antworten




Nach oben



