2012-03-26 74 views
-1

http://ideone.com/GKxcj 這是我的代碼。我有一個關於輸出問題,所以當我試圖打印輸出到文件拿給我這個輸出中: http://codepad.org/LvaboydT 你可以從這個輸出是重複的總列,每行這是爲什麼發生的calcdata功能看似乎不錯對我來說。如果caldata函數中有什麼錯誤,任何人都可以解釋我的錯誤嗎? 感謝每行重複輸出

+0

這可能是有用的計算'total'值時加入一些'的printf()'語句來調試此 - 就像一個檢查,看是否奇怪的是由於輸出或計算。 – sarnold 2012-03-26 00:53:02

+0

我不能這樣做,因爲它似乎有一些未定義的行爲,即使我使用printf也不會輸出到屏幕,我也可以讓輸出文件在我的系統上運行>我從別人系統獲得輸出時在他們的系統上運行它。 – KhoaVo 2012-03-26 00:59:35

回答

0

我通過你的代碼,並有一兩件事似乎是不可思議。如果我理解得很清楚,每張桌子都對應一個溜冰者。

對於每一行你都有一個基數,一些分數和一個總分數。 在您的打印功能,我們可以清楚地看到:

滑冰[I] .baseval [J]打印基本VAL的滑冰i和j行

然後得分列表顯示有溜冰者[1]。 score [j] [k]其中k是數組中的分數索引。

然而打印總得分當顯示滑冰[I] .total_score這是一個唯一的值。所以對於一個給定的選手來說,表格的每一行都是相同的。

如果你想得到每一行的總分數,你只需要將skater [i] .total_score轉換爲一個數組,然後計算總分並將其添加到右行(與基準分數相同)

編輯:改變錯誤的變量名

問候

+0

以及我沒有顯示tech_score作爲總分。我從總分中分別計算了科技分數。 – KhoaVo 2012-03-26 01:12:40

+0

對不起,我的意思是total_score:fprintf(fpOut,「%5.2f」,skater [i] .total_score);你看到你只有一個總得分,因此很自然,每一排都是一樣的 – grifos 2012-03-26 01:23:30

+0

可能是total_score應該是一個數組,因爲現在我只有1個total_score每個溜冰者 – KhoaVo 2012-03-26 01:26:33