nullstellen (p, q, Nummer der Nullstelle (1 oder 2))
Die Nummer gibt dabei an ob addiert oder subtrahiert werden soll. Wenn die Funktion nur eine Nullstelle hat ergeben die Addition und die Subtraktion der Wurzel zum/vom Rest das gleiche.
===== main.cpp =====
#include
#include
#include
#include "analysis.h"
int main (int argc, char* argv[])
{
double p, q, d;
std::cout << "Quadratische Funktion: f(x)=(x*x)+px+q=0 \nGeben Sie p ein: ";
std::cin >> p;
std::cout << "\nGeben Sie q ein: ";
std::cin >> q;
d=((p*p)/4)-q; // Diskriminante
if (d<0)
{
// Keine Nullstellen
std::cout << "\nDie Funktion f(x)=x²+"<
===== analysis.h =====
#ifndef analysis
#define analysis
double nullstellen(double p, double q, int number);
#endif
===== analysis.cpp =====
#include
#include "analysis.h"
double nullstellen(double p, double q, int number)
{
double x;
if (number==1)
{
x=-(p/2) + sqrt((p*p)/4-q);
return x;
}
else if (number==2)
{
x=-(p/2) - sqrt((p*p)/4-q);
return x;
}
else
{
return 0;
}
}
// Nullstellen xo=-p/2 +- sqrt((p/2)²-q)