Comando goto. Escreva um programa que use comandos

goto para simular uma estrutura de laços aninhados

que imprime um quadrado de asteriscos, como no

exemplo a seguir:

O programa deverá usar apenas as três instruções printf

a seguir:

printf( “*” );

printf( “ “ );

printf( “\n” );

Passo 1

A palavra-chave goto usa rótulos para os quais o fluxo vai quando a palavra-chave é executada.

Nossa tarefa é criar um loop usando esta funcionalidade para imprimir um retângulo. Usaremos uma variável de contador e dois rótulos, um para a linha superior e inferior e outro para a parte do meio.

O uso de instruções if é necessário para criar o resultado desejado.

Passo 2

O primeiro código de etiqueta:

int main()

{

int counter = 0;

line:

// end of the first line

if (counter == 5)

{

printf("\n");

counter++;

goto middle;

}

// end

if (counter == 22)

return 0;

printf("*");

counter++;

goto line; // loop back

...

}

Passo 3

A parte do meio:

int main()

{

...

middle:

// end of the lines

if (counter == 9 ||

counter == 13 ||

counter == 17)

{

printf("*");

printf("\n");

printf("*");

counter++;

// last middle line

if (counter == 18)

goto line;

}

printf(" ");

counter++;

goto middle;

}

Resposta

Ver o desenvolvimento.