作者andylinag (洛月)
看板C_and_CPP
標題[問題] 輸入數字計算各種形狀體積
時間Fri Nov 5 00:42:16 2021
開發平台(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: 大概改了一下 排版要多加強 很多編輯器都有支援排版了 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