我正在寻找一种基于简化输入构造布尔规则的算法。我基本上想要的是很快就定义规则而不直接进入if语句。相反,算法应该读入输入并构造语句。
对于输入,我考虑使用如下的数组结构:
struct Point
{
string Label;
bool Activity;
};
Point array[4];
array[0].Label = "AB";
array[0].Activity = 0;
array[1].Label = "CD";
array[1].Activity = 1;
array[2].Label = "EF";
array[2].Activity = 1;
array[3].Label = "GH";
array[3].Activity = 0;
数组包含不同的参数及其必需的布尔值:如果为1,则参数必须为true才能使通用语句为true。如果为0,则必须为假。然后可以将该阵列结构与样本进行比较。 问题是,使用这种方法无法使用运算符'或'。我不喜欢使用多个结构,因为对于几十个'或'构造来说,这会变得非常复杂。
我还考虑过使用.txt文件作为输入并将其作为一个大字符串导入。文件中的文本将被格式化/编写,以便我可以使用指针来处理它以提取相关的运算符和参数。我真的更喜欢这种方法,因为我相信它可以更有效地工作。因为我对编程很新,尤其是C ++中的指针,我真的不能想到更精细的开头;)
我希望我可以理解我的观点,并且有人能够提供帮助。 :)
干杯, Zuup
编辑: 我要构建的是布尔网络:每个节点都包含一个布尔值,每个连接都描述一个关系。如果参数“AB”为真,则参数“CD”为假。如果参数“AB”和“EF”为真且“CD”为假,则参数“GH”为真。
我称之为“布尔规则”的那些关系。那些应该以某种方式由我的程序创建。