是否有任何函数可以将c ++编程中的流转移到while循环或while循环中?

问题描述 投票:2回答:2

我是编程新手。并且通常用于在周末进行编程。在处理迷你ATM项目时,当我需要将程序流程转移回第一行时,问题就会到来。我已经编写了1256行的代码,所以我无法重新构建它的同时或者while while循环。我在在线门户网站上搜索了很多但是找不到令人满意的结果。我的问题是,是否有任何内置函数或方法可用于该原因。

我的第一行是.std::cout<<"Wlcome to your account \n";然后我的选择选项。 std::cout<<"press 12 to go to main manue \n";,这是我的另一个声明,我想把我的流量送回第一线。 else if (in.amount==12) { }

我可以在括号中写什么来将程序流程发送回第一行,屏幕再次显示“欢迎使用您的帐户”

c++ control-flow
2个回答
4
投票

我已经编写了1256行的代码,所以我无法重新构建它或者while while循环。

为什么不?你可以围绕整个事情包裹一个while循环。

也就是说,有一种方法可以完全满足您的需求:goto

首先,您需要标记一个陈述。例如:

int main() {
  the_beginning:
    std::cout << "Welcome to your account\n";
    ...
}

然后你可以做goto the_beginning;将控制转移到标记为the_beginning的语句。

有关更多信息和示例,请参阅goto on cppreference


0
投票

没有必要使用goto(这是一种非常糟糕的高级语言练习)。您可以简单地将整个函数包装在无限循环中:

你有过:

void foo()
{
  // code
  // you want to restart here
  // you want to quit here
  // code
}

你将会有:

void foo()
{
  for(;;)
  {
    // code

    // you want to restart here
    continue;

    // you want to quit here
    break;

    // code

    break; // if you want to terminate at the end;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.