2014-06-10 110 views
0

我對C++相當陌生,目前我正試圖保存一些我的程序在文件中生成的數據。我的代碼輸出兩個變量A和B的值。考慮到我打算繪製A和B,處理這個問題的最佳方法是什麼?我正在考慮創建一個數組,但是可能創建一個帶有兩列的.txt文件會更容易。將數據存儲在文件中(C++)

我已經試過尋找它,它似乎說起來容易做起來難。我不太瞭解指針,但是我懷疑在嘗試這些之前可能需要了解更多。

這裏是我的代碼:

#include <iostream> 
using namespace std; 

int main() 
{ 
    for (int a = 10, b = 5; 0 < a < 20 && b < 50;) 
    { 
     int B = b + a; 
     cout << "B = " << B << endl; 
     int A = a - b; 
     cout << "A = " << A << endl; 
     b = B; 
     a = A; 
    } 
} 

此輸出:

B = 15 
A = 5 
B = 20 
A = -10 
B = 10 
A = -30 
B = -20 
A = -40 
B = -60 
A = -20 
B = -80 
A = 40 
B = -40 
A = 120 
B = 80 
A = 160 

任何提示?謝謝。

+0

該文件是否需要人類可讀? – clcto

+0

我想不是,只要我能夠使用Mathematica繪製數據。 – Petar

+0

擺脫「B」後的換行符,以便「A」寫入同一行 – Ben

回答

1

如果你想將數據存儲在一個文件,這裏是你如何去這樣做:

#include <iostream> 
#include <fstream> 
using namespace std; 

int main() 
{ 
    ofstream fout("filename.txt"); 
    for (int a = 10, b = 5; 0 < a && a < 20 && b < 50;) 
    { 
     int B = b + a; 
     int A = a - b; 
     fout << B << " " << A << endl; 
     b = B; 
     a = A; 
    } 
    fout.close(); 
} 
+1

您在比較中延續了OP的錯誤('0

2

你是正確的,有兩列創建一個.txt文件更容易,並且您生成的文件可以輕鬆導入到各種編程和繪圖環境中,如Mathematica,MATLAB,R和Python。你應該 做這樣的事情:

cout<<A<<'\t'<<B<<endl; 

這是由製表符分隔。或者您可以使用" "將它與空間分開。 對於文件編寫,請在此處簽出教程:http://www.cplusplus.com/doc/tutorial/files/