【发布时间】:2018-02-07 12:57:50
【问题描述】:
我是 Functions 的新手,我试图列出 3 个选项。如果我输入“1”,将打印选项 1。我不知道该怎么做就是打印结果。
#include <iostream>
using namespace std;
int Menu(int a)
{
cout << "Choose an option: " << endl;
cout << "1.Option 1" << endl;
cout << "2.Option 2" << endl;
cout << "3.Option 3" << endl;
cin >> a;
return a;
}
char printResult()
{
char op;
if (op == '1')
cout << "OPTION 1";
if (op == '2')
cout << "OPTION 2";
if (op == '3')
cout << "OPTION 3";
}
int main()
{
char op;
int a;
Menu(a);
printResult();
}
【问题讨论】:
-
你似乎知道
std::cout。用它来打印结果怎么样? -
您永远不会在您的任何函数中分配给
op。还要记住,函数引入了一个新的作用域,不同作用域的变量是不同的变量,即使它们具有相同的名称。换言之,main函数中的变量op与printResult函数中的op是不同的变量。数字和字符之间也有区别。字符'1'与数字1不同。我推荐你get a couple of good beginners books 和他们一起从头开始。 -
您必须将
Menu的结果作为参数传递给printResult并检查它而不是您本地的char op;。 -
也许
printResult可以将 op 作为参数。也许您可以删除Menu中那个无用的论点(或将其作为参考,但我个人认为以这种方式“输出”是不好的风格) -
我个人不会让 Menu 成为一个函数。将这部分代码外包到函数中会降低代码的可读性。