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
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

Beleza, vamos resumir o que a questão está pedindo. A gente precisa criar um programa em C que funcione como um autoatendimento para uma loja de roupas. O programa vai mostrar um menu com opções para o usuário escolher qual peça de roupa deseja adicionar ao carrinho: Blusa, Calça, Saia ou Finalizar a compra. Depois que o usuário finalizar, o programa vai calcular o total da compra, pedir o valor que ele vai pagar e informar se a compra foi concluída, se falta dinheiro ou se tem troco para devolver. Para resolver isso, vamos precisar usar conceitos de entrada e saída em C, estruturas de repetição, condicionais e manipulação de variáveis.

Passo 2

Primeiro, vamos pensar em como estruturar o programa. Precisamos de um menu que fique aparecendo até o usuário escolher finalizar a compra. Para isso, vamos usar um loop while que continua rodando enquanto a opção não for de finalizar.

Passo 3

Vamos declarar variáveis para armazenar o total da compra e as quantidades de cada produto. Por exemplo, podemos ter uma variável total que acumula o preço das peças adicionadas.

Passo 4

Dentro do loop, vamos exibir o menu de opções usando printf e receber a escolha do usuário com scanf. Dependendo da escolha, vamos adicionar o preço da peça correspondente ao total. Por exemplo, se o usuário escolher ‘B’ para Blusa, vamos adicionar o preço da blusa ao total.

Passo 5

Após o usuário escolher finalizar a compra, vamos exibir o total e pedir o valor que ele vai pagar. Vamos comparar o valor pago com o total. Se o valor pago for menor que o total, informamos quanto falta. Se for maior, calculamos o troco e informamos.

Passo 6

Para garantir que o programa funcione corretamente, vamos usar condicionais if e else para tratar as diferentes situações de pagamento: falta dinheiro, troco ou exatamente o valor da compra.

Passo 7

Por fim, vamos fechar o programa com uma mensagem de agradecimento ou confirmação da compra finalizada.

Resposta

Aqui está o código completo em C que realiza o que foi solicitado:
#include <stdio.h>
#include <ctype.h>

int main() {
    char escolha;
    double total = 0.0, pago, troco;
    int continuar = 1;

    while (continuar) {
        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("Escolha uma opção: ");
        scanf(" %c", &escolha);
        escolha = toupper(escolha);

        switch (escolha) {
            case 'B':
                total += 50.0; // Preço da Blusa
                printf("Blusa adicionada ao carrinho. Total: R$%.2f\n", total);
                break;
            case 'C':
                total += 80.0; // Preço da Calça
                printf("Calça adicionada ao carrinho. Total: R$%.2f\n", total);
                break;
            case 'S':
                total += 60.0; // Preço da Saia
                printf("Saia adicionada ao carrinho. Total: R$%.2f\n", total);
                break;
            case 'F':
                continuar = 0;
                break;
            default:
                printf("Opção inválida. Tente novamente.\n");
        }
    }

    printf("Valor total da compra: R$%.2f\n", total);
    printf("Digite o valor pago: R$");
    scanf("%lf", &pago);

    if (pago < total) {
        printf("Faltam R$%.2f para finalizar a compra.\n", total - pago);
    } else if (pago > total) {
        troco = pago - total;
        printf("Compra finalizada. Seu troco é de R$%.2f.\n", troco);
    } else {
        printf("Compra finalizada exatamente com o valor pago.\n");
    }

    return 0;
}

Exercícios relacionados