C_and_CPP 板


LINE

问题(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/ ----- Sent from JPTT on my Samsung SM-G955F. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.11.34.83 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1584016842.A.55D.html
1F:→ Schottky: 你确定最後多出来那一轮的 cin 有收到资料吗? 03/12 21:03
看起来是没有?
2F:→ Lipraxde: 我记得这个 eof() 是在读到 EOF 後才会返回 true,是用 03/12 21:04
所以我加了一个!让它能够遇到EOF才break
3F:→ Lipraxde: 来判断上次读取的状态用的 03/12 21:04
上次读取是指什麽呢? index吗? ※ 编辑: jack41402 (101.11.34.83 台湾), 03/12/2020 21:05:05
4F:→ Lipraxde: 把那个长长的 com >> ... 当成 while 的 condition 应 03/12 21:06
5F:→ Lipraxde: 该就够了 03/12 21:06
※ 编辑: jack41402 (101.11.34.83 台湾), 03/12/2020 21:17:27 ※ 编辑: jack41402 (101.11.34.83 台湾), 03/12/2020 21:18:49
6F:→ Lipraxde: 进回圈後就是 >> r2 的那次 03/12 21:20
7F:→ Lipraxde: http://www.cplusplus.com/reference/ios/ios/eof/ 03/12 21:30
8F:→ Lipraxde: 看文件好了 "Return Value",我中文没有表达的很清楚QQ 03/12 21:30
了解了,谢谢你 可是我以前有用过cin.fail()判断eof,但为什麽只有这次有这个问题 ※ 编辑: jack41402 (101.11.34.83 台湾), 03/12/2020 22:55:44
9F:推 LPH66: 重点在於 cin.fail() 等判断方式都是「上一次是否错误」 03/13 00:24
10F:→ LPH66: 并没有「等一下还有没有东西」这回事 03/13 00:25
11F:→ LPH66: --要知道等一下有没有东西就真的要等一下看了之後才知道 03/13 00:25
12F:→ LPH66: 这一点就连大家说的 while(cin >> ...) 这个判断也不例外 03/13 00:26
13F:→ LPH66: 只不过这是在读完後马上判断它有没有失败而已 03/13 00:26
了解了,谢谢你 ※ 编辑: jack41402 (49.219.145.234 台湾), 03/13/2020 17:52:37







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP