Ich bin fast mit all meinen Hausaufgaben fertig, aber der letzte Teil, den ich erledigen muss, ist, ein Programm zu erstellen, das einige Werte aus einer Textdatei namens „quad.txt“ liest, die Wurzeln mit der quadratischen Formel berechnet und dann die Werte ausgibt. Der erste Teil des Labors bestand darin, dies alles in einer Funktion, main, zu tun. Das funktioniert gut. Jetzt werde ich jedoch gebeten, drei separate Funktionen zu schreiben: eine, die die Diskriminante (b^2 -(4*a*c)) berechnet und einen String-Wert (positiv, null oder negativ) basierend auf dem Wert der Diskriminante zurückgibt, eine andere, die die tatsächlichen Wurzeln berechnet und basierend auf dem oben zurückgegebenen String-Wert ausgibt, und schließlich die Hauptfunktion, die die Datei öffnet und die beiden anderen Funktionen ausführt. Sehen Sie sich meinen Code unten an, aber ich stecke nicht fest, weil ich nicht herausfinden kann, wie ich eine Zeichenfolge von der Funktion disc() zurückgeben und dann die Funktion display() dazu bringen kann, den zurückgegebenen Zeichenfolgenwert aufzurufen und die richtigen Daten auszugeben. Hier ist mein bisheriger Code:
Hier ist der Link zu meiner quad.txt-Datei quad.txt
Code: Select all
//Brian Tucker
//5.23.2012
//Lab 6 Part1
//Quadratic Formula from text file
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int a, b, c; //sets up vars
double r1, r2;
string disc(){
if((pow(b,2) - (4*a*c) > 0)){ //determines if there are two roots and outputs
return positive;
}
else if((pow(b,2) - (4*a*c) == 0)){ //determines if there is a double root
return zero;
}
else if((pow(b,2) - (4*a*c) < 0)){ //determines if there are no roots
return negative;
}
}
void display(string data){
r1=((-b)+sqrt(pow(b, 2)-(4*a*c)))/(2*a); //quadratic formula
r2=((-b)-sqrt(pow(b, 2)-(4*a*c)))/(2*a);
if(positive){
cout