Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem de Programação
Switch-case
Prof. Alan Marcel
alan.marcel@ifpa.edu.br
2023
1
6/12/2023
Programação
• Solução versão 3.0:
#include <stdio.h> // processamento:
int main() media = (n1 + n2 + n3) / 3;
{ // início do programa printf("\nA média é %.2f", media);
// declaração de variáveis: if (media > 0) {
float n1, n2, n3, media; printf("\nMédia positiva");
// entrada de dados: } else if (media < 0) {
printf("Informe o número 1: "); printf("\nMédia negativa");
scanf("%f", &n1); } else {
printf("Informe o número 2: "); printf("\nMédia nula");
scanf("%f", &n2); }
Veja como os espaços
printf("Informe o número 3: "); return 0; ajudam na leitura do
scanf("%f", &n3); } // fim do programa código
Programação
Vamos pensar em uma solução para este problema agora:
2
6/12/2023
Programação
• Uma possível solução:
#include <stdio.h> if (opcao == 1) {
printf("Soma: %d", (n1 + n2));
int main()
}
{ // início do programa if (opcao == 2) {
int n1, n2, opcao; printf("Subtração: %d", (n1 - n2));
printf("Entre com número 1:\n"); }
if (opcao == 3) {
scanf("%d", &n1);
printf("Mult.: %d", (n1 * n2));
printf("Entre com número 2:\n"); }
scanf("%d", &n2); if (opcao == 4) {
printf("Entre com a opção:\n"); printf("Divisão: %d", (n1 / n2));
scanf("%d", &opcao); }
if (opcao > 4 || opcao < 1) {
printf("Erro! Opção inválida");
}
} // fim do programa
Programação
• Outra possível solução:
#include <stdio.h> if (opcao == 1) {
int main() printf("Soma: %d", (n1 + n2));
} else if (opcao == 2) {
{ // início do programa
printf("Subtração: %d", (n1 - n2));
int n1, n2, opcao; } else if (opcao == 3) {
printf("Entre com número 1:\n"); printf("Mult.: %d", (n1 * n2));
scanf("%d", &n1); } else if (opcao == 4) {
printf("Entre com número 2:\n"); printf("Divisão: %d", (n1 / n2));
scanf("%d", &n2); } else {
printf("Entre com a opção:\n"); printf("Erro! Opção inválida");
scanf("%d", &opcao); }
} // fim do programa
3
6/12/2023
Estrutura switch-case
• A estrutura switch-case permite reduzir o código e torná-lo mais
"limpo" e simplificado nos casos de comparações diretas:
switch (variável de comparação)
{
case valor1: Cada case tem apenas um valor
para comparar;
instruções... Podemos ter vários cases;
break; No final do case e do default,
colocar o sinal de :
case valor2:
instruções...
break;
default: Equivalente ao else
instruções... do if-else
}
Algoritmos
Voltando para o nosso problema...
4
6/12/2023
Algoritmos
• Outra possível solução (usando escolha-caso):
#include <stdio.h> switch (opcao) {
case 1:
int main()
printf("Soma: %d", (n1 + n2)); break;
{ // início do programa
case 2:
int n1, n2, opcao; printf("Subtração: %d", (n1 - n2)); break;
printf("Entre com número 1:\n"); case 3:
scanf("%d", &n1); printf("Mult.: %d", (n1 * n2)); break;
printf("Entre com número 2:\n"); case 4:
scanf("%d", &n2); printf("Divisão: %d", (n1 / n2)); break;
printf("Entre com a opção:\n"); default:
scanf("%d", &opcao); printf("Erro! Opção inválida.");
} // fim do switch-case
} // fim do programa
Dúvidas?
5
6/12/2023
Algoritmos
Exercícios – Algoritmo:
1) Desenvolva um programa em C que leia o número do dia da semana
e imprima o nome do dia da semana por extenso (usar switch-case).
Exemplos:
Digite um valor de 1 a 7: 2
Segunda-feira
Digite um valor de 1 a 7: 7
Sábado
2) Crie um programa em C que leia um número inteiro positivo (se for
negativo ou zero, mostra mensagem de erro) e escreva na tela se é
um número par ou ímpar.
Algoritmos
Exercícios – Algoritmo:
4) Crie um programa em C que leia três inteiros e imprima o maior
número informado (suponha números diferentes).
5) Criar um programa em C para o usuário entrar com um número
inteiro e informar se ele é divisível por 3 e por 7.
6) Um comerciante comprou um produto e quer vendê-lo com um lucro
de 45%, se o valor da compra for menor que R$ 20,00; caso
contrário, o lucro será de 30%. Criar um programa em C que permita
entrar com o valor do produto e imprimir o valor da venda.
6
6/12/2023
Dúvidas?