Re: 例外處理問題之二

看板Programming作者 (發起錢像亂噴水)時間18年前 (2007/09/14 04:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《jiannrong.bbs@bbs.wretch.cc (大改名片檔)》之銘言: : 假設我在這裡 分子輸入 erer : 照理說應該要顯示 其他錯誤 : 可是我的卻會變成: : 輸入分子:erer : 輸入分母:44/2=22 : 請按任意鍵繼續 . . . : 請問我哪裡寫錯了呢 : 謝謝 哎...... cin >> numerator; cin >> denominator; 而你輸入文字, 結果只是造成 inpute failure 啊! 之後印出的結果不合你的預期都算正常,因為錯誤情況在前面早就發生了. 程式沒有寫錯,是因給了不適合的輸入. Input failure的行為是這樣: 1.由cin讀取輸入置入numerator,但型態不合,忽略numerator的輸入, 輸入游標停在 "erer" 左邊. cin狀態設為fail. 2.由cin讀取輸入置入denominator,但形態不合,忽略denominator的輸入, 輸入游標還停在 "erer" 左邊. 3.沒有接到任何輸入值的二個數字numerator與denominator相除, boom! -- 邏輯上打個比方: p q| p -> q ---+------------- 1 1| 1 1 0| 0 0 1| 1 <--- This case... 0 0| 1 <--- and this. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.210.87
文章代碼(AID): #16wQEcpb (Programming)
文章代碼(AID): #16wQEcpb (Programming)