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.
[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:- Exibir o menu de opções.
- Receber a escolha do usuário.
- Adicionar o item escolhido ao carrinho.
- 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 deescolha
.- 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:
- Exibição do Menu: O programa mostra as opções de compra para o usuário.
- Leitura da Escolha: O usuário digita sua escolha, que pode ser ‘B’, ‘C’, ‘S’ ou ‘F’ (ou minúsculas).
- 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.
- 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.