首页 > 解决方案 > 有什么想法可以像读取代码一样读取用户输入吗?

问题描述

我正在尝试使用主要操作制作一个布尔矩阵计算器:'^','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;

编写代码很容易,但这些条件应该由用户输入。所以我正在考虑将所有输入存储在一个字符串上,然后从那里解释它,但我发现它很复杂。你会说这是一个糟糕/不可行的解决方案吗?

标签: c++stringinput

解决方案


考虑将所有输入存储在一个字符串上,然后从那里解释它,但我发现它很复杂。

与其将所有输入存储在一个字符串上,为什么不显示两个选项,然后让用户填写变量值?像这样 :

Your matrix fill options :

[A]

if (a <= b*i+c*j <= d )
    m[i][j] = 1;
else m[i][j] = 0;

[B]

m[i][j] = [pow(-1,i+j)+pow(-1,i*j)]/2;

然后如果用户选择“A”,请他们输入 a、b、c、d 值。“B”也是如此。您也可以添加简单的视觉效果。( :

你会说这是一个糟糕/不可行的解决方案吗?

恕我直言,坏是相对的。如果您希望此代码可维护,请不要忘记注释代码关键点。如果您正在为附加约束的任务进行此操作..看起来您做得对。

在我个人看来,500 行代码可以自信地运行良好,比 5 行代码让我内心深处感到不安要好得多。如果您清楚要执行的计划算法,剩下的就是正确编码,并在适用的情况下改进/简化 GUI。

希望有帮助..(:


推荐阅读