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).
[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;
}