【发布时间】:2018-08-05 04:57:56
【问题描述】:
我正在尝试使用主要操作:'^','v','*'制作一个布尔矩阵计算器。我已经做到了,因此您可以通过要求输入每个矩阵框来填充它。但是当您尝试填充 10x10 矩阵时,它会变得乏味。所以我想有一个可以按条件填充的选项(比如 i=row 和 j=column)。
我希望用户能够输入自己的填充选项。喜欢:
if (5 <= 3i+2j <=8)
m[i][j] = 1;
else m[i][j] = 0;
或
m[i][j] = [pow(-1,i+j)+pow(-1,i*j)]/2;
编写代码很容易,但这些条件应由用户输入。所以我正在考虑将所有输入存储在一个字符串上,然后从那里解释它,但我发现它很复杂。你会说这是一个糟糕/不可行的解决方案吗?
【问题讨论】:
-
所以你要求在用户输入上运行编译器?使用 python 或类似工具可能会更好。
-
这很复杂,取决于您要支持多少操作,但这是正确的方向。用户可以从菜单中选择少量的固定算法要容易得多。如果他们想要更花哨的东西,可以使用 excel、matlab 等任何工具来生成数字并将数字作为文件提供给程序。
-
您可以为用户输入的代码制作自己的解析器。
-
您正在尝试实现一种简单的编程语言。你可能想读一本关于编译器和解释器的书。
-
Lua 是一种简单的语言,经过明确设计,易于嵌入到其他应用程序中。我建议您对其进行调查,因为它可以很简单地嵌入到 C++ 应用程序中,并且可以让您的用户在 Lua 中编写自定义函数,然后在您的主 C++ 应用程序中运行。