Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » C/C++ » Labels e GOTO

Labels e GOTO

Os rótulos (labels) e saltos (goto) são resquícios da época em que a programação era totalmente procedural. Esta forma de programar não é mais praticada, mas ainda há como fazer.

Primeiramente marcamos uma linha do código com um rótulo (também conhecido como label) e toda vez que quisermos voltar ou seguir até tal linha apenas indicamos onde o programa deve seguir.

Em C / C++ para indicarmos um rótulo (label) escrevemos um nome no local que desejamos marcar. Para ir até este local usamos o comando GOTO.

O rótulo (label) é indicado pelo uso de dois pontos (:) no final da linha.

GOTO é um comando como qualquer outro. Portanto, deve-se terminar a linha com um ponto-e-vírgula (;).

Ele ficariam assim:

rotulo :

código

goto rotulo ;

Aplicado em um código ficaria assim:

#include <iostream>
#include <cstdlib>
using namespace std;

int main (void){
    char opcao;
    inicio:
    cout <<"voce deseja que este programa repita? [s/n]";
    cin >> opcao;
    cin.ignore();
    if (opcao == 's' || opcao =='S')
        goto inicio;
    else if (opcao == 'n' || opcao =='N')
        goto fim;
    else
        goto inicio;
    fim:
    return EXIT_SUCCESS;
}

Como podemos ver, isso era utilizado antigamente na programação. Hoje em dia, utilizamos outras formas para programar como paradigmas conhecidos como Orientação a Objeto e Orientação a Eventos.

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 50482 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog