2016-05-21 10 views
0

Ich möchte einige Werte aus einer Textdatei erfassen und diese Werte mit einer festen Zahl in C++ multiplizieren. Dann möchte ich die Lösung für jeden Wert in eine andere Textdatei schreiben. Hier ist mein Code:Berechnung mit Werten aus einer Textdatei und Schreiben in eine andere Textdatei

#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

std::ifstream infile("Test_60.txt"); 
std::ofstream outfile("Output.txt"); 

int main(int argc, char** argv) 
{ 
    double max, min, d, s, m; 
    max = 0; 
    min = 1; 
    double x, y, z, R, G, B; 
    while (infile >> x >> y >> z >> R >> G >> B) 
    { 
     if (max < x) 
     { 
      max = x; 
     } 

     if (min > x) 
     { 
      min = x; 
     } 

     d = max - min; 
     s = 60/d; 
     m = s*x; 
    } 

    outfile << m << endl; 
    infile.close(); 
    outfile.close(); 

    system("pause"); 
    return 0; 
} 

Das Minimum und Maximum bereits funktioniert, aber wenn ich versuche, es in eine Textdatei zu schreiben, ich nur einen Wert erhalten für x (oder m). Am Ende möchte ich eine Textdatei mit multiplizierten Werten für x und y und den Werten aus meiner Eingabedatei für z, R, G, B.

Mit freundlichen Grüßen.

+0

Ihre Ausgabe-Stream-Anrufe müssen innerhalb der While-Schleife sein, nein? – OldProgrammer

+0

Ich denke, dass Sie zwei Schleifen benötigen, eine zum Finden der Max- und Min-Werte, dann, nach der Berechnung des Multiplikationsfaktors, einen, um die neuen Werte für x (und y?) Auszuwerten und in die zweite Datei zu schreiben. –

Antwort

0

Sie haben Aussagen zu setzen

max = 0; 
min = 1; 

in while-Schleife, so dass Sie die min/max Reset gewährleisten.

Verwandte Themen