Esta é uma QUESTÃO ABERTA de programação (Linguagem C). Abaixo apresento a solução completa desenvolvida conforme os requisitos solicitados no enunciado.
Solução Proposta
O código abaixo atende a todos os critérios: define o preço de forma centralizada, utiliza printf para o menu e scanf para a entrada, e calcula o valor final.
#include <stdio.h>
// Constante para fácil modificação do preço do ingresso
#define PRECO_INGRESSO 12.50
int main() {
int opcao;
double total_a_pagar;
// Apresentação das opções ao usuário (Entrada de Dados via printf)
printf("=== Cinema Shopping ===\n");
printf("Opções de filmes disponíveis:\n");
printf("1. Vingadores 4 - A Marvel\n");
printf("2. Como Treinar o Seu Dragão 3\n");
printf("3. Dumbo\n");
printf("4. Shazam!\n\n");
// Leitura da escolha do usuário (Entrada de Dados via scanf)
printf("Digite o número da opção desejada: ");
scanf("%d", &opcao);
// Processamento e Saída de Dados
printf("\n--- Resumo da Compra ---\n");
if (opcao >= 1 && opcao <= 4) {
// Exibe o filme escolhido
switch (opcao) {
case 1: printf("Filme escolhido: Vingadores 4 - A Marvel\n"); break;
case 2: printf("Filme escolhido: Como Treinar o Seu Dragão 3\n"); break;
case 3: printf("Filme escolhido: Dumbo\n"); break;
case 4: printf("Filme escolhido: Shazam!\n"); break;
}
// Calcula o valor total (considerando 1 ingresso conforme padrão)
total_a_pagar = PRECO_INGRESSO;
printf("Preço unitário: R$ %.2f\n", PRECO_INGRESSO);
printf("Valor total a pagar: R$ %.2f\n", total_a_pagar);
} else {
printf("Opção inválida!\n");
}
return 0;
}
Análise Técnica da Solução
Para garantir que o código atenda às exigências da banca, observe os pontos críticos implementados:
- Facilidade de Alteração: O preço foi definido utilizando
#define PRECO_INGRESSO 12.50. Se o preço mudar para R$ 15,00, basta alterar apenas esta linha no topo do código, sem precisar buscar todas as ocorrências do número no restante do script. - Entrada de Dados (
scanf): A função scanf("%d", &opcao) lê o valor digitado pelo usuário e armazena na variável inteira opcao. O símbolo & é obrigatório em C para indicar o endereço de memória onde o dado será salvo. - Saída de Dados (
printf): Utilizado tanto para exibir o menu inicial quanto para apresentar o resumo final com o valor formatado (%.2f para duas casas decimais, padrão monetário). - Controle de Fluxo: Um bloco
if garante que apenas opções válidas (1 a 4) processem o pagamento, evitando erros lógicos caso o usuário digite um número fora do menu.