作者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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1636044143.A.06C.html
1F:推 NciscalA: 先判断要执行那个函式再继续读 11/05 00:47
3F:→ pponywong: 大概改了一下 排版要多加强 很多编辑器都有支援排版了 11/05 08:38
4F:→ firejox: 直接读一行然後用sscanf来切 11/05 09:30
5F:推 TWkobe: 比较简单的做法有用sscanf直接接使用者的输入参数,再用 11/05 10:31
6F:→ TWkobe: strtok 取出每个参数,再检查参数对应哪个fun, 是否参数 11/05 10:31
7F:→ TWkobe: 足够,是否有非法的可能 11/05 10:31
8F:→ TWkobe: 另外一种改用va_list,一样检查对应操作 11/05 10:33
9F:推 TWkobe: Scant的话要用return来检查是否有足够input 11/05 10:37
10F:→ andylinag: 了解了,谢谢各位的帮忙,我会再去练习!! 11/05 11:03