看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) codeblock 問題(Question): 首先我想要算這6種體積(or表面積),輸入數字1到6,代表我想要算的種類(比如輸入3,我想算圓柱體積),後面接著她的半徑跟柱高。 比如說我輸入3 1 1,3代表執行的函式,後面1代表半徑跟柱高。 但我這幾個函式所要輸入的數字個數不太一樣,比如函式1,是要算長方體體積,那就需要長,寬跟柱高,也就是說我要輸入1 2 3 5才會得到體積是30 想請問我要怎麼設置,才能讓隨意看我要輸入任意位數,都能代進我要的函式呢,因為現在我的程式碼一定要完整輸入四個數字才會開始執行。 我的想法是用while迴圈,但我不清楚終止條件要怎麼設,希望各位幫幫我,謝謝大家了 餵入的資料(Input): 3 1 1 預期的正確結果(Expected Output): 3.14159265 錯誤結果(Wrong Output): 跑不出來 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) http://codepad.org/dB7nUmmz 補充說明(Supplement): C語言 ----- Sent from JPTT on my Samsung SM-A715F. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.155.109 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1636044143.A.06C.html
NciscalA: 先判斷要執行那個函式再繼續讀 11/05 00:47
pponywong: http://codepad.org/LcUo3nlE 11/05 08:37
pponywong: 大概改了一下 排版要多加強 很多編輯器都有支援排版了 11/05 08:38
firejox: 直接讀一行然後用sscanf來切 11/05 09:30
TWkobe: 比較簡單的做法有用sscanf直接接使用者的輸入參數,再用 11/05 10:31
TWkobe: strtok 取出每個參數,再檢查參數對應哪個fun, 是否參數 11/05 10:31
TWkobe: 足夠,是否有非法的可能 11/05 10:31
TWkobe: 另外一種改用va_list,一樣檢查對應操作 11/05 10:33
TWkobe: Scant的話要用return來檢查是否有足夠input 11/05 10:37
andylinag: 瞭解了,謝謝各位的幫忙,我會再去練習!! 11/05 11:03