C++ 我有没有办法让用户为switch语句输入一个单词而不是一个数字?

C++ 我有没有办法让用户为switch语句输入一个单词而不是一个数字?,c++,switch-statement,C++,Switch Statement,我无法想象我是第一个问这个问题的人,但我在这里什么地方都找不到答案 我正在编写一个菜单,我希望用户能够从三个选项中选择一个,然后,从另外三个选项中选择一个,然后可能从这四个选项中选择一个,或者诸如此类。有没有一种方法可以设置为用户可以输入一个单词,而不是与该单词相关联的数字 简单的真实世界前三明治构建:我希望用户选择三种面包中的一种,三种奶酪中的一种,四种或五种肉类中的一种,以及四种或五种调味品中的一种。我该怎么做呢 我知道我可以做一个switch语句,就像我前面提到的,在这里,选项与一个数字相

我无法想象我是第一个问这个问题的人,但我在这里什么地方都找不到答案

我正在编写一个菜单,我希望用户能够从三个选项中选择一个,然后,从另外三个选项中选择一个,然后可能从这四个选项中选择一个,或者诸如此类。有没有一种方法可以设置为用户可以输入一个单词,而不是与该单词相关联的数字

简单的真实世界前三明治构建:我希望用户选择三种面包中的一种,三种奶酪中的一种,四种或五种肉类中的一种,以及四种或五种调味品中的一种。我该怎么做呢

我知道我可以做一个
switch
语句,就像我前面提到的,在这里,选项与一个数字相关联,但是如果我想让用户改为说“小麦”或“意大利”呢

我这样做的原因是,在最后,我可以让代码分别询问三明治的每一部分,然后在最后说“你点了一个有小麦面包、美国奶酪、火鸡和蛋黄酱的三明治”(这意味着
意大利语
可能与开关变量
面包
或其他东西有关),对于每种可能的情况,不必在开关块内的开关块内制作开关块等

我不知道这是否有意义,但我希望这足以让别人帮助我。我对C++非常陌生,因此我没有很多经验来用名字替换变量(几周前我尝试过一次,没有运气),因此我避免嵌套<代码>开关< /Cord>块。 我正在学习的一个类有一个问题,它与
开关
块有一个类似的问题,但情况完全不同,但是三明治这个东西似乎是一个简单的例子,不只是让你们帮我解决它


编辑:另一种方法可能是使用数字执行
开关
语句,就像我知道如何做的那样,但然后以某种方式将数字与其选项关联起来?因此,与其让用户输入
“意大利语”
,不如输入
1
,但在输出行中,需要
我建议创建一个包含提示文本、预期响应和指向处理选择的函数指针的结构。创建一个数组。使用循环显示所有提示。阅读选择。在数组中搜索具有匹配响应的结构。如果响应与所选内容匹配,则取消引用关联的函数指针。@ThomasMatthews我感谢您的响应,但我不100%理解您想让我在这里做什么,对不起,哈哈。正如我所说的,对于这个例子,我是C++的新手,我如何在我的三明治问题的上下文中创建数组/循环?这大约是托马斯所说的三分之四,但仍然使用
map
而不是循环
map
很慢,除非你的菜单中有相当多的项目,如果你的菜单中有足够多的项目值得一试,那么你的菜单可能太拥挤了。我的最新想法是(根据我的实际问题)输出一个开关,将数字1-12分配给不同的月份,然后在问题的末尾,有一个if/elseif块,上面写着“if month==1,cout