Fluxo de Programa de Controle em C ++ com comandos do ramo

A forma mais simples de controle de fluxo em C ++ é a declaração de ramo. Esta instrução permite que o programa de decidir qual dos dois caminhos a tomar, através de instruções de C ++, com base nos resultados de uma expressão lógica.

Em C ++, a instrução ramo é implementado utilizando o E se declaração:

if (m> n) {// Path 1 // ... instruções para ser executado se // m é maior do que n} else {// Caminho 2 // ... instruções para ser executado se não}

Em primeiro lugar, a expressão lógica m> n é avaliada. Se o resultado da expressão é verdade, o controlo passa para o caminho marcado caminho 1 no trecho anterior. Se a expressão for falso, o controlo passa para Caminho 2. o outro cláusula é opcional. Se ele não estiver presente, C ++ age como se ele estiver presente mas vazio.

Na verdade, as chaves não são necessárias se houver apenas uma instrução para executar como parte do E se. Originalmente, os aparelhos eram usados ​​apenas se houvesse duas ou mais instruções que você queria tratar como um. No entanto, as pessoas rapidamente percebeu que era mais limpo e menos propenso a erros se você usou chaves de cada vez, não importa quantas declarações existem.

O programa a seguir demonstra o E se declaração (observe todos os encantadores chaves):

// BranchDemo - Entrada de dois números. Desça um caminho do programa // se o primeiro argumento é maior // que o primeiro ou o outro caminho senão # incluem #incluir #incluir usando namespace std-int main (int nNumberofArgs, char * pszArgs []) {// input o primeiro argumento ... int nArg1-cout lt; lt; "Enter arg1:" CIN II-III >> nArg1 - // ... eo secondint nArg2-cout lt; lt; "Enter arg2:" CIN II-III >> nArg2 - // agora decidir o que fazer: if (nArg1> nArg2) {coutlt; lt; "Argumento 1 é maior do que o argumento 2" lt; lt; endl-} else {coutlt; lt; "Argumento 1 não é maior do que o argumento 2" lt; lt; endl -} // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retornar 0-}

Aqui, o programa lê dois inteiros a partir do teclado e compara-los. E se nArg1 é melhor que nArg2, controle flui para a instrução de saída cout lt; lt; # 147 Argumento 1 é maior do que argumento 2 # 148-. E se nArg1 não é maior do que nArg2, o controlo flui para o outro cláusula em que a declaração cout lt; lt; # 147 Argumento 1 não é maior do que o argumento 2 n # 148- é executado. Aqui está o que essa operação é semelhante a:

Digite arg1: 5Digite arg2: 6Argumento 1 não é maior do que um argumento 2Prima Enter para continuar ...

Observe como as instruções dentro do E se blocos são recuado ligeiramente. Isto é estritamente para consumo humano porque C ++ ignora espaços em branco (espaços, tabulações e novas linhas). Pode parecer trivial, mas um estilo de codificação clara aumenta a legibilidade do seu programa C ++.

O editor Code :: Blocks pode impor este estilo ou qualquer um dos vários outros estilos de codificação para você. Selecione Configurações-Editor, e em seguida, clique na seleção Source Formatter da lista deslocado à esquerda.

menu