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
Ao selecionar uma das peças de roupa o programa deve exibir seu valor (Blusa - 40.00, Calça - 100.00, Saia - 50.00) e perguntar quantas peças o usuário deseja adicionar ao carrinho.
Caso o usuário digite F, o programa exibe a mensagem Você finalzou a compra. em seguida imprime na tela a quantidade de cada item comprado e o valor totalda 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. 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.
Após exibir o valor total, o programa deve pedir o valor pago pelo usuário, e informar se a compra foi finalizada se falta dinheiro (informando quanto falta) ou se existe troco a ser recebido (informando o valor).

Passo 1

Vamos entender o que o exercício pede. Precisamos criar um programa em C que simule um autoatendimento para uma loja de roupas. O programa deve mostrar um menu com opções de peças de roupa (Blusa, Calça, Saia) e permitir que o usuário selecione itens para adicionar ao carrinho, até que ele decida finalizar a compra. Para resolver isso, vamos usar conceitos de estruturas de controle como loops e condicionais, além de manipular variáveis para armazenar as quantidades e os preços das peças.

Passo 2

Primeiro, vamos pensar no menu que será exibido para o usuário. Precisamos mostrar as opções [B] - Blusa, [C] - Calça, [S] - Saia e [F] - Finalizar compra. Para isso, usamos a função printf para imprimir o menu na tela.

Passo 3

Em seguida, precisamos capturar a escolha do usuário. Para isso, usamos a função scanf para ler a opção escolhida. Vamos armazenar essa opção em uma variável do tipo char.

Passo 4

Depois de capturar a escolha, precisamos verificar qual opção o usuário selecionou. Utilizaremos uma estrutura switch para tratar cada caso: Blusa, Calça, Saia ou Finalizar compra. Se o usuário escolher uma das peças, mostramos o valor correspondente e perguntamos quantas deseja adicionar ao carrinho.

Passo 5

Vamos precisar de variáveis para armazenar a quantidade de cada peça comprada e o valor total da compra. Inicializamos essas variáveis com zero no início do programa. A cada vez que o usuário adiciona uma peça, atualizamos a quantidade e somamos o valor ao total.

Passo 6

Se o usuário escolher finalizar a compra, devemos exibir a quantidade de cada item comprado e o valor total. Para isso, usamos novamente a função printf para mostrar essas informações na tela.

Passo 7

Após mostrar o total, o programa deve pedir o valor pago pelo usuário. Usamos scanf para ler esse valor e, em seguida, comparamos com o total da compra. Se o valor pago for menor que o total, informamos quanto falta. Se for maior, calculamos o troco e informamos ao usuário.

Passo 8

Além disso, precisamos tratar o caso de o usuário digitar uma opção inválida. Nesse caso, exibimos a mensagem “Opção inválida” e mostramos o menu novamente. Para isso, podemos usar um default no switch para capturar opções não previstas.

Resposta

#include <stdio.h>

int main() {
    char opcao;
    int quantidadeBlusa = 0, quantidadeCalca = 0, quantidadeSaia = 0;
    float total = 0.0, pagamento, troco, falta;
    int quantidade;

    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 a opção desejada: ");
        scanf(" %c", &opcao);

        switch(opcao) {
            case 'B':
            case 'b':
                printf("Blusa - R$40.00\n");
                printf("Quantas blusas você deseja adicionar ao carrinho? ");
                scanf("%d", &quantidade);
                quantidadeBlusa += quantidade;
                total += quantidade * 40.00;
                break;
            case 'C':
            case 'c':
                printf("Calça - R$100.00\n");
                printf("Quantas calças você deseja adicionar ao carrinho? ");
                scanf("%d", &quantidade);
                quantidadeCalca += quantidade;
                total += quantidade * 100.00;
                break;
            case 'S':
            case 's':
                printf("Saia - R$50.00\n");
                printf("Quantas saias você deseja adicionar ao carrinho? ");
                scanf("%d", &quantidade);
                quantidadeSaia += quantidade;
                total += quantidade * 50.00;
                break;
            case 'F':
            case 'f':
                printf("Você finalizou a compra.\n");
                printf("Quantidade de Blusas: %d\n", quantidadeBlusa);
                printf("Quantidade de Calças: %d\n", quantidadeCalca);
                printf("Quantidade de Saias: %d\n", quantidadeSaia);
                printf("Total da compra: R$%.2f\n", total);
                // Solicita o valor pago
                printf("Digite o valor pago: R$");
                scanf("%f", &pagamento);
                if(pagamento < total) {
                    falta = total - pagamento;
                    printf("Falta dinheiro: R$%.2f\n", falta);
                } else {
                    troco = pagamento - total;
                    printf("Troco a receber: R$%.2f\n", troco);
                }
                break;
            default:
                printf("Opção inválida.\n");
        }
        printf("\n");
    } while(opcao != 'F' && opcao != 'f');

    return 0;
}

Exercícios relacionados