Prva dva pitanje koje sebi treba da postavis su:
1) šta treba da predaš funkciji kao argumente
2) šta funkcija treba da vrati
1) a, b, c
2) resenja kvadratne jednacine u najprostijem obliku analize su x1 i x2, mada tu postoje brojni detalji koji takodje mogu biti smatrani kao pozeljna povratna vrednost funkcije. Uzecemo da funkcija trebada vrati samo x1, x2 (a ti po zelji prosiruj sistem).
Pretpostavljam da ti je problem sto povratna vrednost nije prost tip podataka, vec ima 'vise' stvari koje treba upakovati u jednu povratnu vrednost. Tada tipicno pravis strukturu, koja moze da 'upakuje' vise prostih tipova:
Code:
struct rezultat_kvadratne_jednacine
{
float x1, x2;
// ... ovde se mogu ugraditi i druge informacije i time prosiriti sistem
};
Zatim, treba ti funkcija.
Jedna od ideja je da prosledis kao argumente:
a, b, c i
adresu objekata (one strukture od malopre) gde ce rezultati biti smesteni:
Code:
void funkcija_za_racunanje_kvardatne_jednacine1( float a, float b, float c, rezultat_kvadratne_jednacine *x )
{
// ovde treba tvoj kod koji resava x1, x2
// ... i dodeljuje vrednosti strukturi:
x->x1 = 2; // <--- ja sam ovde kao sracunao resenja 2 i 4 i dodelio ih objektu za smestanje rezultata
x->x2 = 4;
}
U glavnoj funkciji:
Code:
int main()
{
// <--- ovde napises kod za unos a, b, c
// zatim kreiras objekat gde ce biti smesteni rezultati:
rezultat_kvadratne_jednacine rezultat;
// poziv funkcije
funkcija_za_racunanje_kvardatne_jednacine1( a, b, c, &rezultat );
cout << rezultat.x1 << "\n";
cout << rezultat.x2 << "\n";
system("PAUSE");
return EXIT_SUCCESS;
}