我需要替换goto

时间:2014-04-24 11:43:28

标签: c++ goto

我在论坛上搜索了一篇帖子,可以解释在非常基础的水平上替换goto。 我目前正在阅读一本关于cpp的书,但我一直在尝试创建一个需要跳过程序的某个项目。当我使用goto时,它会打印奇怪的东西,当我在论坛上环顾四周时,一切都太高级或根本没有解释。

#include <iostream>
int main()
//this is just an example of what I'm trying to do not the actual program
{
using namespace std;
    int a;
    cout << "Pick one or two.\n";
    cin >> a;
    if ( a = 1 )
        goto start1;
    if ( a = 2 )
        goto start2;

    start1:
        cout << "Words\n";

    start2:
        cout << "More words\n";
return 0;
}

然后打印: 选一两个。 (选2) 话 更多的话

我也试过使用功能,而那些只是做同样的事情。 如果有人可以解释替换或只是给我一个很棒的链接。

2 个答案:

答案 0 :(得分:2)

您可以使用开关来获得更清晰的解决方案:

#include <iostream>
using namespace std;

int main()
//this is just an example of what I'm trying to do not the actual program
{

    int a;
    cout << "Pick one or two.\n";
    cin >> a;
    switch (a) {
        case 1: cout << "Words\n"; break;
        case 2: cout << "More words\n"; break;
    }
    return 0;
}

答案 1 :(得分:0)

你可以通过使用来做到这一点 Switch Statement 作为:

#include <iostream>
using namespace std;
int main()
{

    int a;
    cout << "Pick one or two.\n";
    cin >> a;
    switch(a){
    case 1:
      cout << "Words\n";
      break;
    case 2:
      cout << "More words\n";
      break;
    default:
       // any Statement/code

    }

return 0;
}

这将有助于您替换goto声明。

希望这会对你有所帮助