SlideShare uma empresa Scribd logo
1
                             Prof. Fabiano Russo


                                 Linguagem C

                             O Comando switch

O comando switch é próprio para se testar uma variável em relação a diversos
valores pré-estabelecidos. Sua forma geral é:


Sintaxe
switch (variável)

{
case constante_1:
declaração_1;
break;


case constante_2:
declaração_2;
break;


.
.
.


case constante_n:
decalração_n;
break;


default:
declaração_default;


}

Podemos fazer uma analogia entre o switch e a estrutura if-else-if. A diferença
fundamental é que a estrutura switch não aceita expressões. Aceita apenas
constantes. O switch testa a variável e executa a declaração cujo case
corresponda ao valor atual da variável. A declaração default é opcional e será
executada apenas se a variável, que está sendo testada, não for igual a nenhuma
das constantes.

O comando break, faz com que o switch seja interrompido assim que uma das
declarações seja executada. Mas ele não é essencial ao comando switch. Se após
a execução da declaração não houver um break, o programa continuará
2
executando. Isto pode ser útil em algumas situações, mas eu recomendo cuidado.
Veremos agora um exemplo do comando switch:

Por Exemplo:

#include <stdio.h>
main ()

{
        int num;
         printf ("Digite um numero: ");
         scanf ("%d",&num);

        switch (num)
    {
         case 9:
             printf ("nnO numero e igual a 9.n");
         break;

         case 10:
             printf ("nnO numero e igual a 10.n");
         break;

         default:
             printf ("nnO numero nao e nem 9 nem 10 nem 11.n");
         }
}
3
                                        Exercícios

1) Faça um algoritmo que ao escolher uma opção inteira de 1 até 7 mostre o dia da
semana correspondente ou mostrar mensagem de erro.

#include<stdio.h>
main()
{

    int opcao;

    printf(" ********* DIA DA SEMANA ********** nn ");

    printf("nDigite o Valor Desejado de 1 a 7: ");
    scanf("%d",&opcao);

    system("cls");

    printf("*******************  ********************** nn");

    switch (opcao)
    {
    case 1: printf("n DOMINGO "); break;

    case 2: printf("n SEGUNDA - FEIRA "); break;

    case 3: printf("n TERCA - FEIRA "); break;

    case 4: printf("n QUARTA - FEIRA "); break;

    case 5: printf("n QUINTA - FEIRA "); break;

    case 6: printf("n SEXTA - FEIRA "); break;

    case 7: printf("n SABADO "); break;

    default: printf(" Opcao Invalida "); break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}
4
2) Faça um algoritmo que ao escolher uma opção inteira de 1 até 12 mostre o mês
do ano correspondente ou mostrar mensagem de erro.

#include<stdio.h>
main()
{

    int opcao;

    printf(" ********* MES DO ANO ********** nn ");

    printf("nDigite o Valor Desejado de 1 a 12: ");
    scanf("%d",&opcao);

    system("cls");

    printf("*******************  ********************** nn");

    switch (opcao)
    {
    case 1: printf("n JANEIRO "); break;

    case 2: printf("n FEVEREIRO "); break;

    case 3: printf("n MARCO "); break;

    case 4: printf("n ABRIL "); break;

    case 5: printf("n MAIO "); break;

    case 6: printf("n JUNHO "); break;

    case 7: printf("n JULHO "); break;

    case 8: printf("n AGOSTO "); break;

    case 9: printf("n SETEMBRO "); break;

    case 10: printf("n OUTUBRO "); break;

    case 11: printf("n NOVEMBRO "); break;

    case 12: printf("n DEZEMBRO "); break;

    default: printf(" Opcao Invalida "); break;
    }
    printf(" nnn*******************  ********************** nnn");
    system("pause");
}
5
3) Faça um algoritmo que permita ao usuário, através de uma escolha, solicitar o
extrato ou o saque ou uma transferência entre contas ou opção inválida.

#include<stdio.h>
main()
{

    int opcao;

    printf(" ********* CAIXA RAPIDO ********** nn ");

    printf("n1 - EXTRATO ");
    printf("n2 - SAQUE ");
    printf("n3 - TRANSFERENCIA ENTRE CONTAS ");
    printf("nnnDigite a Opcao Desejada ---> ");
    scanf("%d",&opcao);

    system("cls");

    printf("*******************  ********************** nn");

    switch (opcao)
    {
    case 1: printf("n Aguarde ... Imprimindo Extrato **** nnnn");
         printf(" *** Destaque a Folha ***");
         break;

    case 2: printf("n Aguarde ... Contando Cedulas **** nnnn");
        printf(" *** Retire as Cedulas ***");
        break;

    case 3: printf("n Informe as Contas e Valores **** nnnn");
        printf(" *** TRANSFERENCIA REALIZADA COM SUCESSO ***");
        break;

    default: printf(" Opcao Invalida "); break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}
6
4) Faça um algoritmo que permita ao usuário através de uma escolha que leia
opção do estado civil de uma pessoa e mostre: Casado(a); Solteiro(a); Viúvo(a);
Desquitado(a); Divorciado(a) ou mostrar a mensagem opção invalida.

#include<stdio.h>
main()
{
   int opcao;

    printf(" ********* ESTADO CIVIL ********** nn ");

    printf("n1 - CASADO(A) ");
    printf("n2 - SOLTEIRO(A) ");
    printf("n3 - VIUVO(A) ");
    printf("n4 - DESQUITADO(A) ");
    printf("n5 - DIVORCIADO(A) ");
    printf("nnnDigite a Opcao Desejada ---> ");
    scanf("%d",&opcao);

    system("cls");

    printf("*******************  ********************** nn");

    switch (opcao)
    {
    case 1:    printf("n *** CASADO(A) ");

         break;

    case 2:       printf("n *** SOLTEIRO(A) ");

         break;

    case 3:       printf("n *** VIUVO(A) ");

         break;

    case 4:       printf("n *** DESQUITADO(A) ");

        break;
    case 5:    printf("n *** DIVORCIADO(A) ");

         break;
    default: printf(" Opcao Invalida "); break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}
7



5) Faça um algoritmo que leia o nome do usuário que solicite o cálculo e que
permita a escolha para a realização dos cálculos da área e volume do cubo ou
mostrar mensagem de erro.

#include <stdio.h>
main ( )
{
     int op;
     float vol,area,aresta;
     char nome[60];

 printf(" Informe o Nome Completo: ");
 gets(nome);

 printf("nn 1 - Area do Cubo nn");
 printf(" 2 - Volume do Cubo nn");
 printf(" Digite a Opcao Desejada: ");
 scanf("%d",&op);

 system("cls");

 switch(op)
 {

       case 1: printf("nn*** Area do Cubo *** nn");
             printf(" Informe a Aresta do Cubo: ");
             scanf("%f",&aresta);
             system("cls");

              printf("nnn");

              area=6*aresta*aresta;
              printf("Sr(a).: %snn", nome);
              printf(" Aresta: %f nn", aresta);
              printf(" Area = %f nn",area);
              break;

       case 2: printf(" *** Volume do Cubo *** nn");
             printf(" Informe a Aresta do Cubo: ");
             scanf("%f",&aresta);
             system("cls");

              printf("nnn");

              vol=aresta*aresta*aresta;
              printf("Sr(a).: %snn", nome);
              printf(" Aresta: %f nn", aresta);
8
                 printf(" Volume = %f nn",vol);
                 break;


     default: printf(" Opcao Invalida "); break;
     }
     printf(" nnn*******************  ********************** nnn");

       system("pause");
}



6) Faça um algoritmo que leia o nome do usuário que solicite o cálculo e que
permita a escolha para a realização dos cálculos da área e volume da esfera ou
mostrar mensagem de erro.

#include <stdio.h>
main ( )
{
     int op;
     float vol,area,pi=3.14,raio;
     char nome[60];

    printf(" Informe o Nome Completo: ");
    gets(nome);

    printf("nn 1 - Area da Esfera nn");
    printf(" 2 - Volume da Esfera nn");
    printf(" Digite a Opcao Desejada: ");
    scanf("%d",&op);

    system("cls");

    switch(op)
    {

          case 1: printf("nn*** Area da Esfera *** nn");
                printf("Informe o Raio da Esfera: ");
                scanf("%f",&raio);
                system("cls");

                 printf("nnn");


                 area=4*pi*raio*raio;
                 printf("Sr(a).: %snn", nome);
                 printf (" A Area da Esfera e: %fnn",area);
9
                 break;

          case 2: printf("nn*** Volume da Esfera *** nn");
                printf("Informe o Raio da Esfera: ");
                scanf("%f",&raio);
                system("cls");

                 printf("nnn");


                 vol=(4*pi*raio*raio*raio)/3;
                 printf("Sr(a).: %snn", nome);
                 printf (" O Volume da Esfera e: %fnn",vol);

                 break;


     default: printf(" Opcao Invalida "); break;
     }
     printf(" nnn*******************  ********************** nnn");

       system("pause");
}

7) Faça um algoritmo que permita a escolha para a realização dos cálculos para
converter temperatura de Celsius em Fahrenheit e vice-versa ou mostrar
mensagem de erro.

° = ° × 1,8 + 32
 F   C

° = (° - 32) / 1,8
 C    F

#include <stdio.h>
main ( )
{
     int op;
     float cs,fh;

    printf("nn 1 - Celsius / Fahrenheit nn");
    printf(" 2 - Fahrenheit / Celsius nn");
    printf(" Digite a Opcao Desejada: ");
    scanf("%d",&op);

    system("cls");

    switch(op)
    {

          case 1:    printf("nn*** Celsius / Fahrenheit *** nn");
10
                printf("Informe a Temperatura em Celsius: ");
                scanf("%f",&cs);
                system("cls");

                printf("nnn");


                fh = cs*1.8 + 32;
                printf (" A Temperatura Fahrenheit: %f grausnn",fh);

                break;

        case 2: printf("nn*** Fahrenheit / Celsius *** nn");
              printf("Informe a Temperatura em Fahreinheit: ");
              scanf("%f",&fh);
              system("cls");

                printf("nnn");


                cs=(fh-32)/1.8;
                printf (" A Temperatura Fahrenheit: %f grausnn",cs);

                break;

    default: printf(" Opcao Invalida "); break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}


8) Faça um algoritmo para ler o preço e a categoria de um produto. Calcular e
mostrar o reajuste de acordo com a categoria. Se a categoria for A=50%, B=25%,
C=15% e outras 5%.

#include<stdio.h>
main()
{

    float preco,desc,precof;
    char cat;

    printf(" ********* Desconto por Categoria de Produto ********** nn ");

    printf("nDigite o Preco do Produto: R$ ");
    scanf("%f",&preco);
11
printf("nInforme a Categoria do Produto: ");
printf("n Categoria A (Desconto de 50%%)");
printf("n Categoria B (Desconto de 25%%) ");
printf("n Categoria C (Desconto de 15%%)");
printf("n Categoria OUTRAS (Desconto de 5%%)nn ");
printf(" -----> ");
fflush(stdin);
scanf("%c",&cat);

system("cls");

printf("*******************  ********************** nn");

switch (cat)
{
case 'A': printf("n ****** Categoria A (Desconto de 50%%) ****** ");

desc=preco*0.50;
precof=preco-desc;
printf(" nnCategoria: %cnn",cat);
printf(" Valor do Desconto: R$ %fnn",desc);
printf(" Preco Final: R$ %fnn",precof);
break;

case 'B': printf("n ****** Categoria B (Desconto de 25%%) ****** ");

desc=preco*0.25;
precof=preco-desc;
printf(" nnCategoria: %cnn",cat);
printf(" Valor do Desconto: R$ %fnn",desc);
printf(" Preco Final: R$ %fnn",precof);
break;

case 'C': printf("n ****** Categoria C (Desconto de 15%%) ****** ");

desc=preco*0.15;
precof=preco-desc;
printf(" nnCategoria: %cnn",cat);
printf(" Valor do Desconto: R$ %fnn",desc);
printf(" Preco Final: R$ %fnn",precof);
break;

default: printf("n ****** Categoria OUTRAS (Desconto de 5%%) ****** ");

desc=preco*0.05;
precof=preco-desc;
printf(" nnCategoria: %cnn",cat);
printf(" Valor do Desconto: R$ %fnn",desc);
printf(" Preco Final: R$ %fnn",precof);
12
    break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}


9) Faça um algoritmo que simule uma urna eletrônica para eleição do Presidente da
Republica ou mostrar mensagem de voto anulado.


#include<stdio.h>
main()
{

    int opcao;

    printf(" ********* URNA ELETRÔNICA ********** nn ");

  printf("nDigite o Numero do seu candidato a                         PRESIDENCIA DA
REPUBLICA: ");
  scanf("%d",&opcao);

    system("cls");

    printf("*******************  ********************** nn");

    switch (opcao)
    {
    case 13: printf("n PT ** Dilma Roussef - 13 ** "); break;

    case 43: printf("n PARTIDO VERDE ** Marina Silva - 43 ** "); break;

    case 45: printf("n PSDB ** Jose Serra - 45 **"); break;

    case 50: printf("n PSOL ** Plinio Arruda - 50 **"); break;

    default: printf(" ******* VOTO ANULADO ******* "); break;
    }
    printf(" nnn*******************  ********************** nnn");

     system("pause");
}

Mais conteúdo relacionado

Mais procurados

Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
Elaine Cecília Gatto
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
Elaine Cecília Gatto
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
profwtelles
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
Carlos Padilla Severo
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
Gercélia Ramos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
Rogerio R. Lima Cisi
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
Elaine Cecília Gatto
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Leandro Rezende
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
Eder Samaniego
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
Débora Inocêncio
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
Mauro Pereira
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
Mauro Pereira
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
Ricardo Liyushiro Chikasawa
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosRegis Magalhães
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 

Mais procurados (20)

Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Ling c
Ling cLing c
Ling c
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 

Semelhante a Aula6 - Linguagem C

Estruturas de dados Revisão de C
Estruturas de dados Revisão de CEstruturas de dados Revisão de C
Estruturas de dados Revisão de C
Elaine Cecília Gatto
 
Algoritmos em c #1
Algoritmos em c #1Algoritmos em c #1
Algoritmos em c #1
Stark2009
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5engenhariadecomputacao
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf
Loiane Groner
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem cRafael_Lima87
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2engenhariadecomputacao
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
Vinícius Hax
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
Elaine Cecília Gatto
 
Exercicios switch - Fatec Jales
Exercicios switch - Fatec JalesExercicios switch - Fatec Jales
Exercicios switch - Fatec Jales
Bruno Teixeira
 
Invocação Remota de Procedimentos (RPC)
Invocação Remota de Procedimentos (RPC)Invocação Remota de Procedimentos (RPC)
Invocação Remota de Procedimentos (RPC)elliando dias
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
thiagodp
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
thiagodp
 
Lista duplamente encadeada
Lista duplamente encadeada Lista duplamente encadeada
Lista duplamente encadeada
Elaine Cecília Gatto
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
Carla Lee
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Resumo functions e procedures
Resumo functions e proceduresResumo functions e procedures
Resumo functions e procedures
Elaine Cecília Gatto
 
Pilha em C
Pilha em CPilha em C
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem C
Rogerio de Moraes
 

Semelhante a Aula6 - Linguagem C (20)

Estruturas de dados Revisão de C
Estruturas de dados Revisão de CEstruturas de dados Revisão de C
Estruturas de dados Revisão de C
 
Algoritmos em c #1
Algoritmos em c #1Algoritmos em c #1
Algoritmos em c #1
 
Calculadora
CalculadoraCalculadora
Calculadora
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Switchcase
SwitchcaseSwitchcase
Switchcase
 
Exercicios switch - Fatec Jales
Exercicios switch - Fatec JalesExercicios switch - Fatec Jales
Exercicios switch - Fatec Jales
 
Invocação Remota de Procedimentos (RPC)
Invocação Remota de Procedimentos (RPC)Invocação Remota de Procedimentos (RPC)
Invocação Remota de Procedimentos (RPC)
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
Lista duplamente encadeada
Lista duplamente encadeada Lista duplamente encadeada
Lista duplamente encadeada
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Resumo functions e procedures
Resumo functions e proceduresResumo functions e procedures
Resumo functions e procedures
 
Pilha em C
Pilha em CPilha em C
Pilha em C
 
Fundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem CFundamentos de Logica de Programação | Linguagem C
Fundamentos de Logica de Programação | Linguagem C
 

Aula6 - Linguagem C

  • 1. 1 Prof. Fabiano Russo Linguagem C O Comando switch O comando switch é próprio para se testar uma variável em relação a diversos valores pré-estabelecidos. Sua forma geral é: Sintaxe switch (variável) { case constante_1: declaração_1; break; case constante_2: declaração_2; break; . . . case constante_n: decalração_n; break; default: declaração_default; } Podemos fazer uma analogia entre o switch e a estrutura if-else-if. A diferença fundamental é que a estrutura switch não aceita expressões. Aceita apenas constantes. O switch testa a variável e executa a declaração cujo case corresponda ao valor atual da variável. A declaração default é opcional e será executada apenas se a variável, que está sendo testada, não for igual a nenhuma das constantes. O comando break, faz com que o switch seja interrompido assim que uma das declarações seja executada. Mas ele não é essencial ao comando switch. Se após a execução da declaração não houver um break, o programa continuará
  • 2. 2 executando. Isto pode ser útil em algumas situações, mas eu recomendo cuidado. Veremos agora um exemplo do comando switch: Por Exemplo: #include <stdio.h> main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); switch (num) { case 9: printf ("nnO numero e igual a 9.n"); break; case 10: printf ("nnO numero e igual a 10.n"); break; default: printf ("nnO numero nao e nem 9 nem 10 nem 11.n"); } }
  • 3. 3 Exercícios 1) Faça um algoritmo que ao escolher uma opção inteira de 1 até 7 mostre o dia da semana correspondente ou mostrar mensagem de erro. #include<stdio.h> main() { int opcao; printf(" ********* DIA DA SEMANA ********** nn "); printf("nDigite o Valor Desejado de 1 a 7: "); scanf("%d",&opcao); system("cls"); printf("******************* ********************** nn"); switch (opcao) { case 1: printf("n DOMINGO "); break; case 2: printf("n SEGUNDA - FEIRA "); break; case 3: printf("n TERCA - FEIRA "); break; case 4: printf("n QUARTA - FEIRA "); break; case 5: printf("n QUINTA - FEIRA "); break; case 6: printf("n SEXTA - FEIRA "); break; case 7: printf("n SABADO "); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); }
  • 4. 4 2) Faça um algoritmo que ao escolher uma opção inteira de 1 até 12 mostre o mês do ano correspondente ou mostrar mensagem de erro. #include<stdio.h> main() { int opcao; printf(" ********* MES DO ANO ********** nn "); printf("nDigite o Valor Desejado de 1 a 12: "); scanf("%d",&opcao); system("cls"); printf("******************* ********************** nn"); switch (opcao) { case 1: printf("n JANEIRO "); break; case 2: printf("n FEVEREIRO "); break; case 3: printf("n MARCO "); break; case 4: printf("n ABRIL "); break; case 5: printf("n MAIO "); break; case 6: printf("n JUNHO "); break; case 7: printf("n JULHO "); break; case 8: printf("n AGOSTO "); break; case 9: printf("n SETEMBRO "); break; case 10: printf("n OUTUBRO "); break; case 11: printf("n NOVEMBRO "); break; case 12: printf("n DEZEMBRO "); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); }
  • 5. 5 3) Faça um algoritmo que permita ao usuário, através de uma escolha, solicitar o extrato ou o saque ou uma transferência entre contas ou opção inválida. #include<stdio.h> main() { int opcao; printf(" ********* CAIXA RAPIDO ********** nn "); printf("n1 - EXTRATO "); printf("n2 - SAQUE "); printf("n3 - TRANSFERENCIA ENTRE CONTAS "); printf("nnnDigite a Opcao Desejada ---> "); scanf("%d",&opcao); system("cls"); printf("******************* ********************** nn"); switch (opcao) { case 1: printf("n Aguarde ... Imprimindo Extrato **** nnnn"); printf(" *** Destaque a Folha ***"); break; case 2: printf("n Aguarde ... Contando Cedulas **** nnnn"); printf(" *** Retire as Cedulas ***"); break; case 3: printf("n Informe as Contas e Valores **** nnnn"); printf(" *** TRANSFERENCIA REALIZADA COM SUCESSO ***"); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); }
  • 6. 6 4) Faça um algoritmo que permita ao usuário através de uma escolha que leia opção do estado civil de uma pessoa e mostre: Casado(a); Solteiro(a); Viúvo(a); Desquitado(a); Divorciado(a) ou mostrar a mensagem opção invalida. #include<stdio.h> main() { int opcao; printf(" ********* ESTADO CIVIL ********** nn "); printf("n1 - CASADO(A) "); printf("n2 - SOLTEIRO(A) "); printf("n3 - VIUVO(A) "); printf("n4 - DESQUITADO(A) "); printf("n5 - DIVORCIADO(A) "); printf("nnnDigite a Opcao Desejada ---> "); scanf("%d",&opcao); system("cls"); printf("******************* ********************** nn"); switch (opcao) { case 1: printf("n *** CASADO(A) "); break; case 2: printf("n *** SOLTEIRO(A) "); break; case 3: printf("n *** VIUVO(A) "); break; case 4: printf("n *** DESQUITADO(A) "); break; case 5: printf("n *** DIVORCIADO(A) "); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); }
  • 7. 7 5) Faça um algoritmo que leia o nome do usuário que solicite o cálculo e que permita a escolha para a realização dos cálculos da área e volume do cubo ou mostrar mensagem de erro. #include <stdio.h> main ( ) { int op; float vol,area,aresta; char nome[60]; printf(" Informe o Nome Completo: "); gets(nome); printf("nn 1 - Area do Cubo nn"); printf(" 2 - Volume do Cubo nn"); printf(" Digite a Opcao Desejada: "); scanf("%d",&op); system("cls"); switch(op) { case 1: printf("nn*** Area do Cubo *** nn"); printf(" Informe a Aresta do Cubo: "); scanf("%f",&aresta); system("cls"); printf("nnn"); area=6*aresta*aresta; printf("Sr(a).: %snn", nome); printf(" Aresta: %f nn", aresta); printf(" Area = %f nn",area); break; case 2: printf(" *** Volume do Cubo *** nn"); printf(" Informe a Aresta do Cubo: "); scanf("%f",&aresta); system("cls"); printf("nnn"); vol=aresta*aresta*aresta; printf("Sr(a).: %snn", nome); printf(" Aresta: %f nn", aresta);
  • 8. 8 printf(" Volume = %f nn",vol); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); } 6) Faça um algoritmo que leia o nome do usuário que solicite o cálculo e que permita a escolha para a realização dos cálculos da área e volume da esfera ou mostrar mensagem de erro. #include <stdio.h> main ( ) { int op; float vol,area,pi=3.14,raio; char nome[60]; printf(" Informe o Nome Completo: "); gets(nome); printf("nn 1 - Area da Esfera nn"); printf(" 2 - Volume da Esfera nn"); printf(" Digite a Opcao Desejada: "); scanf("%d",&op); system("cls"); switch(op) { case 1: printf("nn*** Area da Esfera *** nn"); printf("Informe o Raio da Esfera: "); scanf("%f",&raio); system("cls"); printf("nnn"); area=4*pi*raio*raio; printf("Sr(a).: %snn", nome); printf (" A Area da Esfera e: %fnn",area);
  • 9. 9 break; case 2: printf("nn*** Volume da Esfera *** nn"); printf("Informe o Raio da Esfera: "); scanf("%f",&raio); system("cls"); printf("nnn"); vol=(4*pi*raio*raio*raio)/3; printf("Sr(a).: %snn", nome); printf (" O Volume da Esfera e: %fnn",vol); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); } 7) Faça um algoritmo que permita a escolha para a realização dos cálculos para converter temperatura de Celsius em Fahrenheit e vice-versa ou mostrar mensagem de erro. ° = ° × 1,8 + 32 F C ° = (° - 32) / 1,8 C F #include <stdio.h> main ( ) { int op; float cs,fh; printf("nn 1 - Celsius / Fahrenheit nn"); printf(" 2 - Fahrenheit / Celsius nn"); printf(" Digite a Opcao Desejada: "); scanf("%d",&op); system("cls"); switch(op) { case 1: printf("nn*** Celsius / Fahrenheit *** nn");
  • 10. 10 printf("Informe a Temperatura em Celsius: "); scanf("%f",&cs); system("cls"); printf("nnn"); fh = cs*1.8 + 32; printf (" A Temperatura Fahrenheit: %f grausnn",fh); break; case 2: printf("nn*** Fahrenheit / Celsius *** nn"); printf("Informe a Temperatura em Fahreinheit: "); scanf("%f",&fh); system("cls"); printf("nnn"); cs=(fh-32)/1.8; printf (" A Temperatura Fahrenheit: %f grausnn",cs); break; default: printf(" Opcao Invalida "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); } 8) Faça um algoritmo para ler o preço e a categoria de um produto. Calcular e mostrar o reajuste de acordo com a categoria. Se a categoria for A=50%, B=25%, C=15% e outras 5%. #include<stdio.h> main() { float preco,desc,precof; char cat; printf(" ********* Desconto por Categoria de Produto ********** nn "); printf("nDigite o Preco do Produto: R$ "); scanf("%f",&preco);
  • 11. 11 printf("nInforme a Categoria do Produto: "); printf("n Categoria A (Desconto de 50%%)"); printf("n Categoria B (Desconto de 25%%) "); printf("n Categoria C (Desconto de 15%%)"); printf("n Categoria OUTRAS (Desconto de 5%%)nn "); printf(" -----> "); fflush(stdin); scanf("%c",&cat); system("cls"); printf("******************* ********************** nn"); switch (cat) { case 'A': printf("n ****** Categoria A (Desconto de 50%%) ****** "); desc=preco*0.50; precof=preco-desc; printf(" nnCategoria: %cnn",cat); printf(" Valor do Desconto: R$ %fnn",desc); printf(" Preco Final: R$ %fnn",precof); break; case 'B': printf("n ****** Categoria B (Desconto de 25%%) ****** "); desc=preco*0.25; precof=preco-desc; printf(" nnCategoria: %cnn",cat); printf(" Valor do Desconto: R$ %fnn",desc); printf(" Preco Final: R$ %fnn",precof); break; case 'C': printf("n ****** Categoria C (Desconto de 15%%) ****** "); desc=preco*0.15; precof=preco-desc; printf(" nnCategoria: %cnn",cat); printf(" Valor do Desconto: R$ %fnn",desc); printf(" Preco Final: R$ %fnn",precof); break; default: printf("n ****** Categoria OUTRAS (Desconto de 5%%) ****** "); desc=preco*0.05; precof=preco-desc; printf(" nnCategoria: %cnn",cat); printf(" Valor do Desconto: R$ %fnn",desc); printf(" Preco Final: R$ %fnn",precof);
  • 12. 12 break; } printf(" nnn******************* ********************** nnn"); system("pause"); } 9) Faça um algoritmo que simule uma urna eletrônica para eleição do Presidente da Republica ou mostrar mensagem de voto anulado. #include<stdio.h> main() { int opcao; printf(" ********* URNA ELETRÔNICA ********** nn "); printf("nDigite o Numero do seu candidato a PRESIDENCIA DA REPUBLICA: "); scanf("%d",&opcao); system("cls"); printf("******************* ********************** nn"); switch (opcao) { case 13: printf("n PT ** Dilma Roussef - 13 ** "); break; case 43: printf("n PARTIDO VERDE ** Marina Silva - 43 ** "); break; case 45: printf("n PSDB ** Jose Serra - 45 **"); break; case 50: printf("n PSOL ** Plinio Arruda - 50 **"); break; default: printf(" ******* VOTO ANULADO ******* "); break; } printf(" nnn******************* ********************** nnn"); system("pause"); }