[问题] 输入数字计算各种形状体积

楼主: andylinag (洛月)   2021-11-05 00:42:16
开发平台(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语言
作者: NciscalA   2021-11-05 00:47:00
先判断要执行那个函式再继续读
作者: pponywong (pony)   2021-11-05 08:37:00
http://codepad.org/LcUo3nlE大概改了一下 排版要多加强 很多编辑器都有支援排版了
作者: firejox (Tangent)   2021-11-05 09:30:00
直接读一行然后用sscanf来切
作者: TWkobe (中华柯比)   2021-11-05 10:31:00
比较简单的做法有用sscanf直接接使用者的输入参数,再用strtok 取出每个参数,再检查参数对应哪个fun, 是否参数足够,是否有非法的可能另外一种改用va_list,一样检查对应操作Scant的话要用return来检查是否有足够input
楼主: andylinag (洛月)   2021-11-05 11:03:00
了解了,谢谢各位的帮忙,我会再去练习!!

Links booklink

Contact Us: admin [ a t ] ucptt.com