我正在尝试将3个随机运算符之一(+或-或组合列表中的前面和后面的条目)存储在数组中,然后稍后将其调出以执行操作。最终,我希望程序能够由随机运算符添加,减去或合并一组整数列表,然后返回总数,但现在我只想解决存储和调用“ +”和数组中的“-”。
我创建了一个输出0、1或2的随机化器。根据随机化器的输出,它在我的数组中将一个条目设置为等于字符串“ +”,“-”或“ _” (用于合并)。然后,我设置了一个将字符串存储为整数的变量(数组中设置的数字列表是字符串,这就是为什么我首先这样做的原因),这当然不适用于“ +”,“- “, 要么 ” _”。我现在完全陷入困境,不知道该怎么办。
#include <iostream>
#include <string>
std::string oldlist[17];
int operationrandomizer;
int total;
std::string plus;
std::string minus;
std::string combine;
int oldlistint0;
int oldlistint1;
int oldlistint2;
int newlistint;
int main() {
srand((unsigned)time(0));
plus = "+";
minus = "-";
combine = "_";
operationrandomizer = (rand()%3);
if (operationrandomizer == 0) {
oldlist[1] = combine;
}
else if (operationrandomizer == 1) {
oldlist[1] = plus;
}
else if (operationrandomizer == 2) {
oldlist[1] = minus;
}
oldlist[0] = "1";
oldlist[1];
oldlist[2] = "2";
oldlistint0 = stoi(oldlist[0]);
// oldlistint1 = stoi(oldlist[1]); // cant convert "+" to an int bc + has no int value
oldlistint2 = stoi(oldlist[2]);
total = oldlistint0 + oldlistint1 + oldlistint2;
std::cout << total << "\n";
return 0;
}
我相对确定随机化器和数组可以正常工作。我只需要一种将运算符存储在数组中然后再次将其拉出的方法。