让用户决定在C ++中运行哪个函数的最佳方法是什么?

时间:2017-09-07 16:46:16

标签: c++ arrays

我意识到这个问题之前可能已经被问过了。我问这个,因为我不知道该搜索什么。

嗨,所以我开始学习数组,但我不确定他们是如何(或者是否)可以帮助我解决这个问题:

假设我希望用户能够选择在我的程序中执行的操作。然后我将一个编号列表写入控制台:

  
      
  1. 输出“a”
  2.   
  3. 输出“b”
  4.   
  5. 输出“c”
  6.   

将要求用户输入一个数字,该数字定义了程序将运行的功能。我希望程序做的不是让我写三次并更改数字和字母:

if (numberInput == "1") {
functionA;
}

我只是写了一些从numberInput获取数字的东西,然后运行与之关联的函数。

同样,我知道这个问题可能已被问过1000次,所以我想知道是否有人知道我应该如何继续寻找答案。谢谢!

2 个答案:

答案 0 :(得分:1)

您想要的是switch statement

我会从那里开始

答案 1 :(得分:0)

我认为最好的是switch/case东西

你要问的是使用函数指针数组。参见 How can I use an array of function pointers?

你最终会得到

int c;
std::cin >> c;
....
(*fnpointers[c])();