Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:将代码重定向到特定位置 我对C++很陌生。p>_C++ - Fatal编程技术网

C++;:将代码重定向到特定位置 我对C++很陌生。p>

C++;:将代码重定向到特定位置 我对C++很陌生。p>,c++,C++,如何将代码“重定向”到特定位置 基本上,我应该在这里放置什么来代替注释行: if ( N>1 ) { // What should be here to make the code start from the beginning? } else { // What should be here to make the code start from certain point? } 我知道C++不是脚本语言,但是如果代码是作为脚本编写的,我怎么才能重定向它呢?p> 谢谢你一个

如何将代码“重定向”到特定位置

基本上,我应该在这里放置什么来代替注释行:

if ( N>1 ) {
  // What should be here to make the code start from the beginning? 
}
else {
  // What should be here to make the code start from certain point?
}
<>我知道C++不是脚本语言,但是如果代码是作为脚本编写的,我怎么才能重定向它呢?p>
谢谢你

一个
转到
命令可以做你想做的事,但是在礼貌圈里,它通常是不被接受的:-)

它有它的位置,但你最好还是学习结构化编程技术,因为过度使用
goto
往往会导致我们称之为意大利面代码,难以理解、遵循和调试

如果您的任务是对代码进行最低限度的更改,而听起来代码可能已经写得很糟糕,
goto
可能是最好的解决方案:

try_again:
n = try_something();
if (n > 1)
    goto try_again;
使用结构化编程,您将有如下功能:

n = try_something();
while (n > 1)
    n = try_something();

你可能看不出这两种情况有什么不同,但那是因为它很简单。如果你的标签和
goto
语句完全分开,或者有42个不同的标签,那么你会要求使用结构化版本。

一个
goto
命令可以做你想做的事情,但在礼貌圈子里,它通常是不受欢迎的:-)

它有它的位置,但你最好还是学习结构化编程技术,因为过度使用
goto
往往会导致我们称之为意大利面代码,难以理解、遵循和调试

如果您的任务是对代码进行最低限度的更改,而听起来代码可能已经写得很糟糕,
goto
可能是最好的解决方案:

try_again:
n = try_something();
if (n > 1)
    goto try_again;
使用结构化编程,您将有如下功能:

n = try_something();
while (n > 1)
    n = try_something();

你可能看不出这两种情况有什么不同,但那是因为它很简单。如果你的标签和goto语句被大大分开,或者有42个不同的标签,你会要求使用结构化版本。

使用函数、循环等来控制应用程序的“流”。把代码看作是可重用的部分,任何要重用的东西都应该放在函数中或循环

以下是一个例子:

void main()
{
    int i = 0;

    SayHello();       

    if (i < 1)
    {
         SayHello();
         i++;
    }
    else
    {
         SayGoodbye();
    }
}

void SayHello()
{
    cout << "Hello" << endl;
}

void SayGoodbye()
{
    cout << "Goodbye" << endl;
}
void main()
{
int i=0;
你好;
if(i<1)
{
你好;
i++;
}
其他的
{
说再见();
}
}
void SayHello()
{

cout使用函数、循环等来控制应用程序的“流”。将代码视为可重用的部分,任何要重用的东西都应该放在函数中或循环

以下是一个例子:

void main()
{
    int i = 0;

    SayHello();       

    if (i < 1)
    {
         SayHello();
         i++;
    }
    else
    {
         SayGoodbye();
    }
}

void SayHello()
{
    cout << "Hello" << endl;
}

void SayGoodbye()
{
    cout << "Goodbye" << endl;
}
void main()
{
int i=0;
你好;
if(i<1)
{
你好;
i++;
}
其他的
{
说再见();
}
}
void SayHello()
{

我不完全清楚你所说的“重定向”是什么意思,但请考虑以下几点:

if (N > 1) {
   speak();
} else {
   do_something_else();
}

正如paxdiablo已经指出的那样,
goto
方法不是一个好的实践。最好使用做特定事情的函数,这样调试更容易,而且有人可以真正了解您的代码在做什么(或者至少应该做什么)。

我不完全确定您所说的“重定向”是什么意思但请考虑以下内容:

if (N > 1) {
   speak();
} else {
   do_something_else();
}

正如paxdiablo已经指出的那样,
goto
方法不是很好的实践。最好使用做特定事情的函数,这样调试就更容易了,而且有人可以真正了解你的代码在做什么(或者至少应该做什么).

已经考虑过循环了?已经考虑过循环了?谢谢你的回复!现在我非常关心结构。我正在编写简单的二次方程求解器。我希望程序在计算完根后重新开始(而不是退出),然后,在用户定义了系数之后,我想给你一个机会来修改它们。在这种情况下,你的结构化建议是什么?还有,你能为学习结构化编程技术提出什么建议?非常感谢!@user40,问另一个问题,发布你的实际代码(这很重要-没有您的代码,我们只能给出一般性的答案)以及询问如何明确地做你想做的事。StackOverflow的本质是几乎每个人都能看到问题,评论往往会消失在背景中,除了张贴在上面的Q/A。换句话说,你会从一个问题中得到更好的回答。谢谢,我会这样做。你能看看这个问题吗?Tha谢谢你的回答!现在我真的很关心这个结构。我正在写一个简单的二次方程求解器。我希望程序在计算完根后重新开始(而不是退出),然后,在用户定义了系数之后,我想给你一个机会来修改它们。在这种情况下,你的结构化建议是什么?还有,你能为学习结构化编程技术提出什么建议?非常感谢!@user40,问另一个问题,发布你的实际代码(这很重要-没有您的代码,我们只能给出一般性的答案)以及询问如何明确地做你想要做的事情。StackOverflow的本质是几乎每个人都能看到问题,除了张贴在上面的Q/A之外,评论往往会消失在背景中。换句话说,你会从一个问题中得到更好的回答。谢谢,我会这样做。你能看看这个问题吗?