2017-02-12 46 views
0

我目前正在嘗試在C++中創建一個程序,它將允許用戶填寫文本文件以定義圖形的變量,這些變量定義圖形中節點之間的距離。的格式如下:基於文件的輸入來定義圖形變量

int numberOfNodes 
     //node 0, node 1 , node 2 
float distance1, distance2, distance3 //node 0 
float distance1, distance2, distance3 //node 1 
float distance1, distance2, distance3 //node 2 

(節點數目爲3的),這就是爲什麼有3×3的網格,其將指定的每個節點之間的距離。

爲contect: filedata.txt

3 
0 1 2 
1 0 3 
2 3 0 

據我所知,使用的文件輸入您使用fstream的,與沿ifstream的選擇要打開的文件。我不明白的是如何將這些數據放入上下文中。

我該如何告訴C++第一行將始終是列表中有多少個節點,那麼我將如何告訴C++,第一行下的任何內容都是我想要填充到自己列表中的數據?

while (infile >> size) 
{ 
    cout <<"Total number of Verticies in Graph = "<< size << endl; 
} 

回答

1

有了這樣的輸入:

3 

首先讀取的行數,並進入一個for循環:

infile >> numrows; 
for(int row = 0; i < numrows; ++i) { 
} 

隨後的輸入可以理解爲

0 1 2 
1 0 3 
2 3 0 

infile >> distance1 >> distance2 >> distance3; 

內部的循環。

+0

感謝您的評論,但我不認爲這就是我要找的。我需要從文件中讀取數據,「cin >> numrows」只是讓用戶輸入數據。我需要使用文本文件來填充字段 – Darision

+0

@Darision用'infile'夥計替換'cin'! –

+0

對不起馬鈴薯的時刻,那工作的一種享受,謝謝! – Darision