【发布时间】:2015-12-03 20:17:00
【问题描述】:
我正在制作一个 calc 函数,用于检查输入是否有效。因此,我将有 2 个字符串,一个带有用户输入的内容(例如,3+2-1 或者可能是 dog - 这将是无效的),另一个带有存储在字符串中的 ALLOWED 字符,例如 '123456789/*- +.^' .
我不知道如何才能做到这一点并且无法启动它。我知道一些函数,例如 STRMCP,以及 string.h 文件中流行的函数,但我不知道如何使用它们来检查每个输入。
最简单的方法是什么?
【问题讨论】:
-
你的问题很清楚,但你需要展示你到目前为止所做的尝试。
-
我推荐你阅读
strpbrk函数。 -
您的盘子上有 3 个问题:1) 字符的有效性。仅表示数字和运算符。 2) 输入字符的顺序。意味着你不能有 1+2*+5 3) 计算本身。意味着在计算中保留算术优先级。这是通过使用 Stack 并按预先顺序对字符进行排序来实现的,其中运算符放置在接下来的 2 个操作数之前。 (搜索计算器实现。)
-
“我不知道如何使用它们”你看过文档了吗?
-
您是在询问如何使用这些功能(到底是哪些功能?),如何解析用户输入,或者寻找解决您问题的代码?我觉得你的问题有点太笼统了。