我试图在C ++控制台中为几何定理以及 Algebra中的其他公式创建多个计算器,并且出于某种奇怪的原因程序,当选择一个选项时,变量scene
不想改变(显示在calculators[]
数组之前,而不是转到毕达哥拉斯定理({{1}控制台说,"按任意键继续......" 并关闭。
我已经尝试了scene 1
和switch()
语句来导航场景管理,但我做错了什么? (顺便说一下,我仍然是一名C ++学习者,但我还有其他编程语言经验)。
感谢您的帮助。
if()
答案 0 :(得分:1)
您的主要问题是scene
已在声明(全局)本身声明并初始化0
。这将为您提供始终相同的开关case = 0
。在scene
个案例中更改switch
将无效。相反,您需要在scene
之前输入switch
。
int main()
{
selection();
int scene = 0;
std::cin >> scene;
switch(scene)
{
......
}
}
其次,使用std::string
代替char数组,并使用std::vector<>
/ std::array
来存储它们。例如:
std::array<std::string,2> calculators =
{
"Pythagorean Theorem",
"Homer's Formula"
};
和for
循环可以是:
for (int i = 0; i < 2; ++i)
std::cout << "Option " << i+1 << ": " << calculators[i] << std::endl;