- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不确定我的标题应该是什么。但是,我试图对我的代码进行很好的验证。以下是我的函数中唯一允许使用的代码:c0001、c0002、c0003、c0004、c0005、C0001、C0002、C0003、C0004、C0005。因此,除了这 10 个代码之外,它不应该接受它并继续向用户宣传正确的代码。
if (strlen(meal_choice) == 5 && (meal_choice[0] == 'C' || meal_choice[0] =='c') && meal_choice[1] == '0' && meal_choice[2] == '0' && meal_choice[3] == '0' && (meal_choice[4] == '1' || meal_choice[4] == '2' || meal_choice[4] == '3' || meal_choice[4] == '4' || meal_choice[4] == '5'))
正如您从我上面的代码中看到的那样,它太长了。知道如何缩短我的代码吗?谢谢!
最佳答案
您可以检查字符是否为特定范围内的数字,您可以使用 >=
将字符与范围的端点进行比较和 =<
,因为数字被分配了连续的代码:
... && meal_choice[4] >= '1' && meal_choice[4] <= '5'
您还可以使用 sscanf
用于验证的基本的类似正则表达式的功能,如下所示:
int res = -1;
sscanf(code, "%*[cC]000%*[1-5]%n", &res);
if (res == 5) {
... // The code is valid
}
以上扫描并忽略格式化输入(注意百分号后的星号),并使用 %n
读取处理的字符数。 .如果处理了所有五个字符,则输入被视为有效。
关于c - 因式分解 && 和 ||在 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002640/
我很抱歉提出一个关于 Eigen3 优化计算方案的一般性问题。假设我们确实拥有两个 Eigen3 矩阵,M 和 N。假设我们需要计算以下内容: Eigen::Matrix M; Eigen::Matr
如果我使用 Sympy 获得了以下方程: 是否可以排列变量,使 x 和 L 在方程中仅显示为 x/L? 最佳答案 用另一个符号(例如 y)替换 x/L 似乎对我有用: >>> import sympy
我不确定我的标题应该是什么。但是,我试图对我的代码进行很好的验证。以下是我的函数中唯一允许使用的代码:c0001、c0002、c0003、c0004、c0005、C0001、C0002、C0003、C
这周我开始较少样式表开发。 我当前的元素有许多不同颜色的链接,例如: #dev-team a { color: #D09EBA; } #admin-team a { color: #0
我试图通过分解 N 来找到 D。 我的 N 是 265291078722948385089717069136983657793 我发现 P & Q 使用 n = p.q P - 1471697682
这个问题在这里已经有了答案: Partitioning in JavaScript [duplicate] (7 个答案) 关闭 7 年前。 假设我有一个数组 = [0,1,2,3,4,5,6],我
我有这个数据框:基本上每一行都是一个客户一天执行的一笔交易。同一客户在同一天和不同日期进行多笔交易。我想获得一个列来显示客户之前访问的次数。 id date purchase id1 date1
我是一名优秀的程序员,十分优秀!