問題(Question):
用cin.eof()時遇到錯誤,輸入時遇到EOF應該終止程式而不繼續運行,但程式卻多輸出一次,想知道為什麼會有錯誤?
餵入的資料(Input):
0 0 5 10 0 8
0 0 5 10 10 5
預期的正確結果(Expected Output):
Quick in
Nearly
錯誤結果(Wrong Output):
Quick in
Nearly
Nearly
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
double x1 , x2 , y1 , y2 , r1 , r2 , temp ;
while (!cin.eof())
{
cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2 ;
temp = sqrt (pow (x1 - x2 , 2) + pow (y1 - y2 , 2));
if ((r1 + r2)>=temp)
{
cout << "Quick in" << endl ;
}
else if ((r1 + r2) < temp)
{
cout << "Nearly" << endl ;
}
}
}
http://codepad.org/tnRLqQJK
補充說明(Supplement):
這個程式是在寫下面這題
https://toj.tfcis.org/oj/pro/19/