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++ » Estrutura Seletiva - IF e ELSE

Estrutura seletiva - IF e ELSE

Uma ação muito importante que o processador de qualquer computador executa, e que o torna diferente de qualquer outra máquina, é a tomada de decisão definindo o que é verdadeiro e o que é falso.

Se quisermos fazer um bom programa, esse programa deve ser capaz de definir caminhos diferentes de acordo com decisões que o próprio programa toma. Para isso, precisamos de uma estrutura seletiva da qual o único valor possível é o bit 1 ou 0, resumindo: retornar o valor VERDADEIRO ou FALSO.

Em C / C++, como em muitas linguagens de programação, quem faz isso é o IF (SE traduzindo).

Ou seja, se for tal coisa, faça isso! Simples desse jeito.

O ELSE é o que chamamos de caso contrário, ou seja, se for falso execute o que está no ELSE.

Exemplificando: Se (IF) for tal coisa, faça isso! Caso contrário (ELSE), faça aquilo!

Usando IF

Para usar o IF basta digitar entre parênteses o que deve ser comparado.

IMPORTANTE: IF é uma palavra reservada que não aceita ponto-e-vírgula (;) no final.

Se for verdadeiro, o programa executará a primeira linha logo abaixo do if.

Mas, e se quisermos executar várias linhas se if for verdadeiro?

Se o if tiver que executar várias linhas, todas as linhas que devem ser enquadradas dentro do bloco de dados - as chaves ({}).

Usando ELSE

O ELSE só existe se tiver um IF. O else só será executado se o IF for falso.

Else executará só a primeira linha abaixo dele. Se o else tiver que executar várias linhas, vale a mesma regra de if. Todas as linhas a ser executadas deverão estar contidas dentro do bloco de dados ({}).

No exemplo abaixo está um exemplo de uso do if e else com apenas uma linha a ser executada.

#include <cstdio>
#include <cstdlib>

int main (void){
    int nr;
    printf ("Digite um numero:\n");
    scanf ("%d", &nr);
    getchar ();
    if (nr>=0)
        printf ("O numero digitado e positivo\n\n");
        //se nr for maior ou igual a 0 o numero sera positivo
    else
        printf ("O numero digitado e negativo\n\n");
        //caso contrario, ele sera negativo!
    system ("pause");
}

Agora, um exemplo de um programa onde o if e o else têm mais de uma linha a ser executada. Preste atenção aos blocos de dados.

#include <cstdio>
#include <cstdlib>

int main (void){
    int nr, a, b, x;
    printf ("Escolha uma opcao:\n");
    printf ("1.\tmultiplicar\n");
    printf ("2.\tdividir\n");
    scanf ("%d", &nr);
    getchar ();
    if (nr==1)
    {
        //se nr for igual a um executara todo esse bloco
        printf ("Digite os dois numero que deverao ser multiplicados\n");
        scanf ("%d %d", &a, &b);
        getchar ();
        x=a*b;
        system ("cls"); //limpa a tela
        printf ("%d X %d = %d\n", a, b, x);
    }
    else
    {
        //se nr nao for igual a um executara todo esse bloco
        printf ("Digite os dois numero que deverao ser divididos\n");
        scanf ("%d %d", &a, &b);
        getchar ();
        x=a/b;
        system ("cls"); //limpa a tela
        printf ("%d / %d = %d\n", a, b, x);
    }
    system ("pause");
}
Faça o Download deste Código

Como podemos ver tudo que será executado está dentro das chaves. Na próxima página nos aprofundaremos nos operadores lógicos para fazer uma comparação melhor dentro de if.

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 249739 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