Re: [問題] SWITCH 問題已回收

看板MATLAB作者 (大長今)時間16年前 (2010/03/29 01:01), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《ernest7835 (意難忘)》之銘言: : 利用SWITCH指令 : Gas= input ('Please input the name of gas(He,H2,O2,Cl2,CO2): ','s'); : switch Gas : case 'He' : eval('a = 0.0341, b = 0.0237'); : case 'H2' : eval('a = 0.244, b = 0.0266'); : case 'O2' : eval('a = 1.36, b = 0.0318'); : case 'Cl2' : eval('a = 6.49, b = 0.0562'); : case 'CO2' : eval('a = 3.59, b = 0.0427'); : otherwise : disp(['Please type He,H2,O2,Cl2,CO2']) : end : 我希望當妳輸入錯誤 : 例如我要輸入 He 打成 HE : 這樣就無法執行了 : 我讓她能顯示出 妳輸入錯誤 : Please type He,H2,O2,Cl2,CO2 : 但是之後還是會一直繼續往下執行下去 : 希望他能回到第一行 直到你輸入正確 : 才會繼續執行end之後的指令 : 請問應該怎麼打 懇請指教 ff=1; while(ff) Gas= input ('Please input the name of gas(He,H2,O2,Cl2,CO2): ','s'); switch Gas case 'He' eval('a = 0.0341, b = 0.0237');ff=0; case 'H2' eval('a = 0.244, b = 0.0266');ff=0; case 'O2' eval('a = 1.36, b = 0.0318');ff=0; case 'C12' eval('a = 6.49, b = 0.0562');ff=0; case 'CO2' eval('a = 3.59, b = 0.0427');ff=0; otherwise disp(['Please type He,H2,O2,Cl2,CO2']) end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.118.221 ※ 編輯: biglongtoday 來自: 218.166.118.221 (03/29 01:06)

03/29 08:25, , 1F
這eval總覺得是沒有必要的...
03/29 08:25, 1F

03/29 17:21, , 2F
樓上為什麼這麼說? 不這樣設不就不能運算了嗎?
03/29 17:21, 2F

03/29 22:33, , 3F
1F朋友是對的 help eval來了解eval的用途吧
03/29 22:33, 3F

03/29 23:49, , 4F
感謝指導
03/29 23:49, 4F
文章代碼(AID): #1BhujbPS (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1BhujbPS (MATLAB)