Ir para conteúdo
Entre para seguir isso  
Dark Skyllen

#4 - Switch

Recommended Posts

Dark Skyllen    7
Dark Skyllen

Switch

 

 

 

 

 

Quando precisamos fazer várias checagens, pode-se tornar complicado o uso de muitos ifs dentro do código, por isso usamos o comando switch, que simplifica tais checagens.

Estrutura do comando:

 

switch(variavel a ser checada)

case
valor1:
comando

case
valor2:
comando

...

case
valorX:
comando

 

default:
comando

Então entendendo:

 

Vamos fazer dentro de um comando, várias checagens para verificar qual o valor da uma variável qualquer. CASO o valor seja 1, ele entra no primeiro bloco, se for 2, ele entra no segundo e assim por diante. SE NÃO FOR nenhuma das checagens ele entra no default.

Lembrando que geralmente para sair do case, é necessário dar um break.

 

Exemplo simples:

 

#include <iostream.h>

using namespace std;

int main(int argc, char *argv[])
{
   int op = 1;
   switch(op)
   {
      case 1: cout << "1" << endl; break;
      case 2: cout << "2" << endl; break;

      default: cout << "Default" << endl; break; 

   }
   system("PAUSE");
   return EXIT_SUCCESS;
}

Usei o break para se a variável for 1, ele printa 1 e sai do case, sem fazer as outras verificações.

 

 

 

 

 

  • Menu com switch

 

Veremos como criar menus com switch:

 

#include <iostream.h>

using namespace std;

int main(int argc, char *argv[])
{
   int op = 1;
   cout << "Menu: " << endl
        << "1 - Somar 2 números" << endl
        << "2 - Multiplicar 2 números" << endl
        << "3 - Subtrair 2 números" << endl
        << "4 - Dividir 2 números" << endl;

   cin >> op;
   int num1, num2;

   switch(op)
   {
      case 1:
            system("cls");
            cin >> num1 >> num2;
            cout << num1+num2 << endl;
            break;
      case 2:
            system("cls");
            cin >> num1 >> num2;
            cout << num1*num2 << endl;
            break;
      case 3:
            system("cls");
            cin >> num1 >> num2;
            cout << num1-num2 << endl;;
            break;
      case 4:
            system("cls");
            cin >> num1 >> num2;
            cout << num1/num2 << endl;
            break;

      default: 
             cout << "Você teclou um menu diferente" << endl; 
             break; 

   }
   system("PAUSE");
   return EXIT_SUCCESS;
}

Criamos um menu com o switch, se as opções forem de 1 à 4 ele entra nos cases respectivos, caso contrário entra no default.

 

 

Por enquanto é só pessoal!

Pratiquem e aguardem a próxima aula!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dartier    0
Dartier

nossa muito bom cara, to acompanhando suas aulas

e parabéns pelo cargo merecido viu. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites
euzita    0
euzita

Obrigada Dark Skyllen :P

 

Aguardo nova aula *-*

Compartilhar este post


Link para o post
Compartilhar em outros sites
Lwkass    1
Lwkass

cara, so me ajuda numa duvida aqui sobre c++

oque seria isso ?

 

using namespace std;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark Skyllen    7
Dark Skyllen

#Lwkass

 

É como se fosse um "import" pra usar algumas pequenas funções, como por exemplo o uso de strings.

 

Você também pode criar seus próprios namespaces:

 

#include <iostream.h>
using namespace std;

namespace exemplo{
int valor = 1;
}

int main()
{
     cout << exemplo::valor; //escreve 1
     system("pause");
     return 0;
}

 

A mesma coisa seria pra std::cout, std::string, std::ceil e outros.

 

Também podemos fazer o seguinte:

 

#include <iostream>
using namespace std;

namespace exemplo{
int valor = 1;

}
using namespace exemplo;

int main()
{
     cout << valor;
     return 0;
}

 

Usando o namespace std poderemos declarar variáveis do tipo string, exemplo:

 

#include <iostream>
using namespace std;

int main()
{
     string nome = "Teste" // ou então std::string sem o namespace.
     cout << nome;
     return 0;
}

 

Deu pra entender?

Editado por Piikachu
Corrigir 1 pequeno erro :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Lwkass    1
Lwkass

Hmm... entendi agora =D

valeu ai ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
dragonlorde    0
dragonlorde

Boa cara

Adorei o switch..

Continua com as aulas..

Editado por dragonlorde

Compartilhar este post


Link para o post
Compartilhar em outros sites
Caedo    0
Caedo

Realmente muito bom esse lance de conseguir por menus! Baseado na sua calculadora eu fiz a minha! XD

So tem um problema, ela não retorna valores decimais. Como arrumo isso?

 

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int operador;
   cout << "Escolha uma operacao a efetuar:\n[1] Adicao\n[2] Subtracao\n[3] Multiplicacao\n[4] Divisao\n\nOBS: Operacoes apenas com DOIS numeros!\n";
   cin >> operador;

   switch(operador)
   {
   int numero1;
   int numero2;
                   case 1:
                        cout << "Voce escolheu ADICAO!\n\nDigite o primeiro numero: ";
                        cin >> numero1;
                        cout << "Digite o segundo numero: ";
                        cin >> numero2;
                        cout << numero1 << " + " << numero2 << " = " << numero1 + numero2 << "\n";

                   case 2:
                        cout << "Voce escolheu SUBTRACAO!\n\nDigite o primeiro numero: ";
                        cin >> numero1;
                        cout << "Digite o segundo numero: ";
                        cin >> numero2;
                        cout << numero1 << " - " << numero2 << " = " << numero1 - numero2 << "\n";

                   case 3:
                        cout << "Voce escolheu MULTIPLICACAO!\n\nDigite o primeiro numero: ";
                        cin >> numero1;
                        cout << "Digite o segundo numero: ";
                        cin >> numero2;
                        cout << numero1 << " * " << numero2 << " = " << numero1 * numero2 << "\n";

                   case 4:
                        cout << "Voce escolheu DIVISAO!\n\nDigite o primeiro numero: ";
                        cin >> numero1;
                        cout << "Digite o segundo numero: ";
                        cin >> numero2;
                        cout << numero1 << " / " << numero2 << " = " << numero1 / numero2 << "\n";

                   default:
                           cout << "Voce digitou um numero diferente dos que ha no menu!\n";
}
system("PAUSE");
return EXIT_SUCCESS;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark Skyllen    7
Dark Skyllen

@Ibald

Declare as variáveis numero1 e numero2 como float, para que essas possam receber casas decimais, como 1.32 e etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites
BLackBode    0
BLackBode

outra otima aula, fiz uma calculadora também, mas com a opcao de sair.. usando for e switch..

 

[spoiler=exercicio]#include <cstdlib>

#include <iostream>

 

using namespace std;

 

int main(int argc, char *argv[])

{

std:: string sair;

int opcao;

for(float num1, num2 ; sair != "NAO" && sair != "Nao" && sair != "nao" ; ) // loop com variaveis num1 e num2 e condiçao sair

{

system("cls"); // limpa tela

cout << "Menu: " << endl;

cout << "1 --> SOMA" << endl;

cout << "2 --> SUBTRACAO" << endl;

cout << "3 --> MULTIPLICACAO" << endl;

cout << "4 --> DIVISAO" << endl;

cout << "Qual operacao deseja realizar? : ";

cin >> opcao; // Entrada de dados (opcao)

system("cls");

 

switch(opcao) // switch opcao

{

case 1: // caso soma

cout << "Primeiro numero: ";

cin >> num1;

cout << endl << "Segundo numero: ";

cin >> num2;

system("cls");

cout << num1 << " + " << num2 << " = " << num1+num2 << endl;

break;

 

case 2: //caso subtracao

cout << "Primeiro numero: ";

cin >> num1;

cout << endl << "Segundo numero: ";

cin >> num2;

system("cls");

cout << num1 << " - " << num2 << " = " << num1-num2 << endl;

break;

 

case 3: // caso multiplicacao

cout << "Primeiro numero: ";

cin >> num1;

cout << endl << "Segundo numero: ";

cin >> num2;

system("cls");

cout << num1 << " X " << num2 << " = " << num1*num2 << endl;

break;

 

case 4: // caso divisao

cout << "Primeiro numero: ";

cin >> num1;

cout << endl << "Segundo numero: ";

cin >> num2;

system("cls");

cout << num1 << " / " << num2 << " = " << num1/num2 << endl;

break;

 

default: // caso opcao invalida

cout << "Opcao invalida\n" << endl;

 

}

 

cout << "Deseja realizar outra operacao? (SIM/NAO) : ";

cin >> sair; // entrada de dados (sair)

}

 

 

return EXIT_SUCCESS;

}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×