使用var作为开关盒

时间:2017-10-16 22:22:11

标签: c++ menu

我必须做一个C ++程序来管理银行账户。但我被卡住了。我需要显示不同的帐户,选择一个并在所选帐户上执行一些操作。我正在切换案例中做出选择,但我希望“案例”是动态的(程序的另一部分用于添加帐户)

    switch (choixMenu)
    {
    case 1:
        //Consulter un compte
        do {
            cout << endl << " ----------------------- CONSULTATION -----------------------" << endl << endl;
            cout << "Choisir le compte a consulter : \n" << endl;
            while (nCompte != NULL) {
                int numCompte = 1;
                int *ptr (0);
                ptr = &numCompte;
                cout << numCompte << " - " << nCompte << cid << endl;
                numCompte++;
                switch (choixConsul) {
                case ptr :
                }
            }
            cin >> choixMenu;

            if (choixMenu != 1 && choixMenu != 2 && choixMenu != 3)
            {
                cout << "Choix invalide !" << endl;
            }

        } while (choixConsul != 3);

(compte = account) 有没有办法用var做这个案子?一个循环来显示不同的帐户和循环中的案例来选择每个帐户? 感谢帮助! :)

1 个答案:

答案 0 :(得分:1)

动态解决方案是使用表格:

struct Menu_Entry
{
  std::string option_text;
  void (*p_action_function)();
}

std::vector<Menu_Entry> menu;

使用表驱动系统,您可以使用一个显示所有选择的函数,然后取消引用与菜单选项关联的函数指针。

通过将菜单选项向量传递给菜单处理功能,可以显示和处理多个菜单。

std::string可以替换为字符数组,以允许静态常量数据。