我想要做的是從文本文件(當前稱爲「輸入」)中讀取數字。我創建了兩個數組,一個用於int數字,另一個用於浮點數。數組中的最大項數設置爲50,但最小值爲1.程序停止讀取數字的標識符是int值中的任何負數。閱讀數字,但停止在負C++
我不知道爲什麼,但是當我讀回數組時,會跳過最後的負數,然後打印剩餘插槽(最多50個)的亂碼值。
任何意見,將不勝感激。
void Read(ifstream &input, int studentID[], float score[])
{
int curID;
float curScore;
for (int i = 0; i < 50; i++)
{
input >> curID >> curScore;
if (curID < 0)
{
return;
}
else
{
studentID[i] = curID;
score[i] = curScore;
}
}
}
我假設你試圖從1到50打印數組而不檢查讀取元素最大索引的限制。因此,您必須根據總數保持讀取和打印元素的總數。 –
你說得對。我只是自己意識到這一點。我在不檢查數組長度的情況下打印出50個值。你可以發表你的回答作爲答案,所以我可以給你信用? –