在我今天的課上,我們分配了一個項目,其中涉及使用./a.out「<」文件名命令讀取文件。該文件的內容是這樣的C使用./a.out <文件名以及如何停止讀取來讀取文件
16915 46.25 32 32
10492 34.05 56 52
10027 98.53 94 44
13926 32.94 19 65
15736 87.67 5 1
16429 31.00 58 25
15123 49.93 65 38
19802 37.89 10 20
-1
但更大
我的問題是,以後使用的任何scanf函數完全被忽略,當打印出來,而不是採取在用戶輸入什麼樣子的垃圾只是掃描。在我的實際程序中,這導致需要輸入的菜單出現問題。
如何讓程序停止讀取./a.out「<」文件名命令提供的文件? 我也停在-1搜索,而不是EOF不具有一組額外的陣列數據的緣故開始-1我真正的程序 前
-1 0 0 0
每班人數爲常數是可調用於計算類平均數,我寧願沒有一組0的數據傾斜。
#include <stdio.h>
int main(void)
{
int i = 0,j = 1,d,euid[200],num;
int tester = 0;
float hw[200],ex1[200],ex2[200];
while(j)
{
scanf("%d",&tester);
if(tester == -1)
{
j = 0;
}
else
{
euid[i] = tester;
}
scanf("%f",hw+i);
scanf("%f",ex1+i);
scanf("%f",ex2+i);
i++;
}
for(d = 0;d < 50;d++) /*50 because the actual file size contains much more than example*/
{
printf("euid = %d\n",euid[d]);
printf("hw = %f\n",hw[d]);
printf("ex1 = %f\n",ex1[d]);
printf("ex2 = %f\n",ex2[d]);
}
printf("input something user\n");
scanf("%d",&num);
printf("This is what is being printed out -> %d\n",num);
return 0;
}
不知道我們在同一所學校的機會是什麼?無論如何,我發郵件給我的教授,我不認爲這是可能的使用該命令。當我得到回覆時,我會讓你知道他告訴我什麼。 – Yosvan10 2014-11-02 03:31:34