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
Enquanto o usuário não escolher esta opção o programa deve continuar seu loop de exibição do menu mais a execução do que foi escolhido.

Passo 1

Beleza, vamos entender o que a gente precisa fazer aqui! O exercício pede para a gente criar um programa em C que simula um autoatendimento para uma loja de roupas. A ideia é mostrar um menu com opções de roupas (Blusa, Calça, Saia) e uma opção para finalizar a compra. Enquanto o usuário não escolher finalizar, o programa continua mostrando o menu e permitindo que ele adicione itens ao carrinho.
Conteúdos que vamos precisar:
  • Estruturas de controle de repetição: para manter o menu sempre visível até a finalização.
  • Entrada e saída de dados: para interagir com o usuário.
  • Estruturas condicionais (if/else ou switch): para tratar a escolha do usuário.
  • Variáveis: para armazenar a quantidade de cada item no carrinho.

Passo 2

Vamos começar planejando a estrutura do nosso programa. Precisamos da função main, que é onde tudo vai acontecer. Dentro dela, vamos:
  1. Exibir o menu de opções.
  2. Receber a escolha do usuário.
  3. Adicionar o item escolhido ao carrinho.
  4. Repetir esse processo até o usuário escolher finalizar a compra.
Para manter o menu sempre aparecendo, vamos usar um loop. Mas antes disso, precisamos definir como vamos armazenar os itens do carrinho. Vamos usar variáveis para contar quantas blusas, calças e saias o usuário adiciona.

Passo 3

Vamos começar escrevendo o código básico em C. Primeiro, inclui a biblioteca padrão e define a função main:
#include <stdio.h>

int main() {
    // Aqui vamos colocar o resto do código
    return 0;
}

Passo 4

Dentro da função main, vamos declarar variáveis para contar os itens no carrinho e uma variável para armazenar a escolha do usuário.
#include <stdio.h>

int main() {
    char escolha;
    int blusas = 0, calcas = 0, saias = 0;

    // Resto do código

    return 0;
}

Passo 5

Agora, vamos criar um loop que continua mostrando o menu até o usuário escolher finalizar a compra. Vamos usar um do-while para garantir que o menu apareça pelo menos uma vez.
#include <stdio.h>

int main() {
    char escolha;
    int blusas = 0, calcas = 0, saias = 0;

    do {
        // Exibir 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 escolha: ");
        scanf(" %c", &escolha);

        // Processar a escolha
        switch(escolha) {
            case 'B':
            case 'b':
                blusas++;
                printf("Blusa adicionada ao carrinho!\n\n");
                break;
            case 'C':
            case 'c':
                calcas++;
                printf("Calça adicionada ao carrinho!\n\n");
                break;
            case 'S':
            case 's':
                saias++;
                printf("Saia adicionada ao carrinho!\n\n");
                break;
            case 'F':
            case 'f':
                printf("Finalizando a compra...\n");
                break;
            default:
                printf("Opção inválida! Tente novamente.\n\n");
        }

    } while(escolha != 'F' && escolha != 'f');

    // Resto do código

    return 0;
}
Explicação:
  • do-while: Esse loop executa o bloco de código pelo menos uma vez e continua repetindo enquanto a condição for verdadeira.
  • switch: Facilita a seleção entre diversas opções baseadas no valor de escolha.
  • Incremento das variáveis: Cada vez que o usuário escolhe uma opção de roupa, a respectiva variável é incrementada.
  • Tratamento de entrada inválida: Se o usuário digitar algo diferente das opções, mostramos uma mensagem de erro.

Passo 6

Por último, após o usuário finalizar a compra, vamos mostrar o resumo dos itens que foram adicionados ao carrinho.
#include <stdio.h>

int main() {
    char escolha;
    int blusas = 0, calcas = 0, saias = 0;

    do {
        // Exibir 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 escolha: ");
        scanf(" %c", &escolha);

        // Processar a escolha
        switch(escolha) {
            case 'B':
            case 'b':
                blusas++;
                printf("Blusa adicionada ao carrinho!\n\n");
                break;
            case 'C':
            case 'c':
                calcas++;
                printf("Calça adicionada ao carrinho!\n\n");
                break;
            case 'S':
            case 's':
                saias++;
                printf("Saia adicionada ao carrinho!\n\n");
                break;
            case 'F':
            case 'f':
                printf("Finalizando a compra...\n");
                break;
            default:
                printf("Opção inválida! Tente novamente.\n\n");
        }

    } while(escolha != 'F' && escolha != 'f');

    // Mostrar o resumo da compra
    printf("\n===== Resumo da Compra =====\n");
    printf("Blusas: %d\n", blusas);
    printf("Calças: %d\n", calcas);
    printf("Saias: %d\n", saias);
    printf("============================\n");
    printf("Obrigado por comprar conosco!\n");

    return 0;
}
Explicação:
  • Após sair do loop, usamos printf para exibir o número de cada tipo de roupa que o usuário adicionou ao carrinho.
  • Isso dá um feedback claro sobre o que foi comprado.

Resposta

Aqui está o código completo do programa conforme solicitado:
#include <stdio.h>

int main() {
    char escolha;
    int blusas = 0, calcas = 0, saias = 0;

    do {
        // Exibir 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 escolha: ");
        scanf(" %c", &escolha);

        // Processar a escolha
        switch(escolha) {
            case 'B':
            case 'b':
                blusas++;
                printf("Blusa adicionada ao carrinho!\n\n");
                break;
            case 'C':
            case 'c':
                calcas++;
                printf("Calça adicionada ao carrinho!\n\n");
                break;
            case 'S':
            case 's':
                saias++;
                printf("Saia adicionada ao carrinho!\n\n");
                break;
            case 'F':
            case 'f':
                printf("Finalizando a compra...\n");
                break;
            default:
                printf("Opção inválida! Tente novamente.\n\n");
        }

    } while(escolha != 'F' && escolha != 'f');

    // Mostrar o resumo da compra
    printf("\n===== Resumo da Compra =====\n");
    printf("Blusas: %d\n", blusas);
    printf("Calças: %d\n", calcas);
    printf("Saias: %d\n", saias);
    printf("============================\n");
    printf("Obrigado por comprar conosco!\n");

    return 0;
}
Como o programa funciona:
  1. Exibição do Menu: O programa mostra as opções de compra para o usuário.
  2. Leitura da Escolha: O usuário digita sua escolha, que pode ser ‘B’, ‘C’, ‘S’ ou ‘F’ (ou minúsculas).
  3. Processamento da Escolha:
    • Se for ‘B’ ou ‘b’: Incrementa o contador de blusas.
    • Se for ‘C’ ou ‘c’: Incrementa o contador de calças.
    • Se for ‘S’ ou ‘s’: Incrementa o contador de saias.
    • Se for ‘F’ ou ‘f’: Sai do loop para finalizar a compra.
    • Se for qualquer outra coisa: Mostra uma mensagem de opção inválida.
  4. Resumo da Compra: Após finalizar, o programa mostra quantas blusas, calças e saias foram compradas.
Exemplo de Execução:
Qual produto você gostaria de comprar?
[B] - Blusa
[C] - Calça
[S] - Saia
[F] - Finalizar compra
Digite sua escolha: B
Blusa adicionada ao carrinho!

Qual produto você gostaria de comprar?
[B] - Blusa
[C] - Calça
[S] - Saia
[F] - Finalizar compra
Digite sua escolha: c
Calça adicionada ao carrinho!

Qual produto você gostaria de comprar?
[B] - Blusa
[C] - Calça
[S] - Saia
[F] - Finalizar compra
Digite sua escolha: F
Finalizando a compra...

===== Resumo da Compra =====
Blusas: 1
Calças: 1
Saias: 0
============================
Obrigado por comprar conosco!
Pronto! Agora você tem um programa simples de autoatendimento para uma loja de roupas em C. Pode testar e ajustar conforme necessário.

Exercícios relacionados