Escreva um programa em C para o auoatendimento de uma loja de roupas. A função main exibe o menu abaixo que permite ao usuário escolher qual peça de roupa ele gostaria de adicionar ao carrinho. Qual produto você gostaria de comprar?
[B] - Blusa
[C] - Calça
[S] - Saia
[F] - Finalizar compra
Caso o usuário não digite algumas das opções, o programa deve exibir a mensagem Opção inválida e omenu deve ser apresentado novamente para o usuário.

Passo 1

Beleza, vamos lá! O enunciado pede para a gente criar um programa em C que simula um autoatendimento numa loja de roupas. A gente vai precisar usar conceitos básicos de programação como loops (para repetir o menu), condicionais (para verificar a opção escolhida) e entrada/saída (para interagir com o usuário). O objetivo é deixar o usuário escolher entre adicionar uma blusa, calça ou saia ao carrinho, ou finalizar a compra. Se ele digitar uma opção que não está no menu, o programa avisa que é inválida e mostra o menu de novo.

Passo 2

Primeiro, vamos pensar em como mostrar o menu para o usuário. A gente vai usar a função printf para isso. O menu vai listar as opções [B], [C], [S] e [F] com suas respectivas descrições.

Passo 3

Depois de mostrar o menu, precisamos capturar a escolha do usuário. Para isso, usamos a função scanf para ler o caractere que o usuário digitar.

Passo 4

Vamos precisar de um loop para que o menu apareça de novo sempre que o usuário fizer uma escolha válida ou inválida, até ele decidir finalizar a compra. Um while ou do-while serve bem para isso.

Passo 5

Dentro do loop, vamos usar uma estrutura condicional (switch ou if-else) para tratar cada opção escolhida. Se for [B], [C] ou [S], a gente pode incrementar um contador ou simplesmente informar que a peça foi adicionada ao carrinho. Se for [F], o loop encerra e a compra é finalizada.

Passo 6

Para as opções inválidas, ou seja, qualquer coisa que não seja [B], [C], [S] ou [F], a gente exibe a mensagem “Opção inválida” e o menu aparece de novo para o usuário tentar de novo.

Passo 7

Por fim, vamos mostrar uma mensagem de agradecimento ou o resumo da compra quando o usuário escolher finalizar a compra.

Resposta

Aqui está um exemplo de como o programa pode ficar:
#include <stdio.h>

int main() {
    char opcao;
    
    do {
        // Exibe o menu
        printf("Qual produto você gostaria de comprar?\n");
        printf("[B] - Blusa\n");
        printf("[C] - Calça\n");
        printf("[S] - Saia\n");
        printf("[F] - Finalizar compra\n");
        printf("Digite sua opção: ");
        
        // Lê a opção do usuário
        scanf(" %c", &opcao);
        
        // Trata a opção escolhida
        switch(opcao) {
            case 'B':
            case 'b':
                printf("Blusa adicionada ao carrinho.\n\n");
                break;
            case 'C':
            case 'c':
                printf("Calça adicionada ao carrinho.\n\n");
                break;
            case 'S':
            case 's':
                printf("Saia adicionada ao carrinho.\n\n");
                break;
            case 'F':
            case 'f':
                printf("Compra finalizada. Obrigado!\n");
                break;
            default:
                printf("Opção inválida.\n\n");
        }
        
    } while(opcao != 'F' && opcao != 'f');
    
    return 0;
}

Exercícios relacionados