[問題] 輸入要介於一定範圍內

看板C_and_CPP (C/C++)作者 (天生我材)時間12年前 (2014/04/01 13:12), 12年前編輯推噓1(108)
留言9則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 任意數字 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 只判斷過一次後就不能跑了,迴圈QQ!! 程式碼(Code):(請善用置底文網頁, 記得排版) int main() { int a; std::cin >> a; do{ std::cout << "請重新輸入"<< std::endl; std::cin>>a; }while(a<=1 && a>=999); } 關於輸入後假如超過值會要求重新輸入 但是好像只跑一次就不能跑了,不知道我這程式是哪裡邏輯錯誤?? 覺得上因該可以判斷直到輸入正確結果才繼續後面運算才對吧?? 如果輸入錯誤(條件不成立)因該要在無窮迴圈裡面吧?? 不知道哪裡邏輯錯了~"~ 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.123.61 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1396329170.A.5D7.html

04/01 13:16, , 1F
請問輸入多少 可以使a <=1 && a>=999
04/01 13:16, 1F
判斷介於1~999之間 ※ 編輯: oklp1415 (114.27.123.61), 04/01/2014 13:49:28

04/01 14:03, , 2F
while(a<=1 || a>=999)
04/01 14:03, 2F
可以诶,奇怪 如果是 && 就會錯~"~ 那如果 改成 if判斷好像就失效了?? if(a<=1 || a>=999) ?? &&好像也無效?? ※ 編輯: oklp1415 (114.27.123.61), 04/01/2014 14:10:41

04/01 14:11, , 3F
另外這樣寫就一定會要求重新輸入 無論第一次輸入怎樣
04/01 14:11, 3F

04/01 14:11, , 4F
&&會錯阿 x<=1和x>=999不會同時滿足的
04/01 14:11, 4F
那如果改成IF做判斷呢? 還是依然無法做成WHILE的判斷?? ※ 編輯: oklp1415 (114.27.123.61), 04/01/2014 14:17:57

04/01 14:45, , 5F
是判斷式的問題,你仔細看一下x的範圍跟&&的關係...
04/01 14:45, 5F

04/01 15:26, , 6F
用||就可以了吧
04/01 15:26, 6F

04/01 16:27, , 7F
哈哈哈 你們看看你們 今天是愚人節啦
04/01 16:27, 7F

04/01 18:45, , 8F
並 不 好 笑
04/01 18:45, 8F

04/01 21:41, , 9F
這問題似乎挺大的...
04/01 21:41, 9F
文章代碼(AID): #1JEahINN (C_and_CPP)
文章代碼(AID): #1JEahINN (C_and_CPP)