CSE 110: Introdução à Programação

S05 - Projeto: Carrinho de Compras

Sobre as Etapas do Projeto (Marcos):

Um marco ou marco quilométrico é um marcador colocado ao longo de uma rodovia para informar a distância percorrida ou indicar seu deslocamento em direção a um destino específico. Em projetos de desenvolvimento de software, o marco (etapa) do projeto indica um ponto específico ao longo do cronograma do projeto.

Para ajudar você a avançar na conclusão deste projeto, você concluirá parte do programa no meio da semana e enviará uma “Etapa”. Então, até o final da semana, você concluirá o programa e enviará a versão finalizada.

Primeiro você deve ler a descrição completa do projeto. Depois, na parte inferior desta página, você vai ver quais recursos são necessários para a etapa e quais são necessários para o projeto em geral.

Visão Geral

Muitos aplicativos usam algum tipo de carrinho de compras, no qual os usuários podem adicionar e remover itens, visualizar o conteúdo do carrinho e o total. Armazenar esta coleção de itens requer manter o controle de uma lista de itens e atualizá-la de várias maneiras.

Descrição do Projeto

Para este projeto, você criará um programa que armazenará uma lista de produtos em um carrinho de compras junto com os respectivos preços. O usuário poderá adicionar itens à lista, removê-los e ver o preço total do carrinho.

Para a entrega desta etapa, você só precisará se preocupar em armazenar uma lista com os nomes dos itens (ainda sem os preços) e em apenas adicionar novos itens e exibir a lista. Depois, no projeto completo, você acrescentará a capacidade de armazenar os preços, remover itens e calcular o total.

Tarefa

Para este projeto, o usuário receberá um menu e poderá escolher itens desse menu. As opções do menu incluem o seguinte:

  1. Adicionar um novo item.

  2. Exibir o conteúdo do carrinho de compras.

  3. Remover um item (necessário apenas para a entrega final do projeto).

  4. Calcular o total (necessário apenas para a entrega final do projeto).

  5. Sair.

Quando o usuário escolher uma dessas opções, o programa deverá executar a ação apropriada. Em seguida, o programa deverá exibir o menu novamente e permitir que o usuário escolha outra opção. A execução deverá continuar até que o usuário escolha a opção de sair.

As seções a seguir descrevem o comportamento esperado de cada opção:

Adicionar um Novo Item

O programa deve pedir ao usuário o nome do item. Para a entrega final do projeto, o programa também deve perguntar o preço do item ao usuário.

O programa deve armazenar esses valores em uma lista. Ao trabalhar na entrega da etapa, você precisará apenas de uma lista (para armazenar os nomes). Para o projeto final, ao armazenar nomes e preços, você deverá usar duas listas, uma para os nomes e outra para os preços.

Exemplo da funcionalidade deste item:


Qual item você gostaria de adicionar? meias
Qual é o preço de 'meias'? 5.99
O item 'meias' foi adicionado ao carrinho.

Após o usuário fornecer esses valores, o item e o preço serão armazenados em suas respectivas listas.

Dica: você deverá criar novas listas vazias no início do programa para que, quando chegar a esse ponto, você já tenha listas prontas nas quais poderá armazenar o nome e o preço.

Exibir o Conteúdo do Carrinho de Compras

O programa deverá exibir todos os itens do carrinho de compras, um por linha. Para a entrega da etapa, você só precisará exibir os nomes dos itens. Para a entrega final do projeto, o preço de cada item deverá ser exibido ao lado do item.

Além disso, para o projeto final, o programa também deverá exibir o número associado a cada item da lista, começando com 1. Isso é diferente de como o Python irá armazená-los, porque ele começa a contar em 0, mas para que não fique estranho para o usuário, você deve começar os números em 1.

Exemplo da funcionalidade deste item:


O conteúdo do carrinho de compras é:
1. cama - R$ 100.00
2. cadeira - R$ 24.99
3. cobertor - R$ 48.50

Remover um Item

O usuário deverá digitar o número do item que deseja remover e o item deverá ser removido da lista.

Para fazer isso corretamente, seu programa precisará executar cada um dos seguintes procedimentos:

  1. Converter o número inserido pelo usuário em um índice baseado em 0. Por exemplo, se o usuário quiser remover o segundo item da lista, digitará “2” (porque os números mostrados começam em 1), mas esse item será armazenado em Python no índice 1 (porque Python começara a contar em 0).

  2. Confirmar que o índice esteja dentro dos limites da lista atual (por exemplo, não é possível remover o item 10 se houver apenas 5 itens na lista). Se o índice estiver fora dos limites da lista, o programa não deve tentar removê-lo, mas sim exibir uma mensagem informando ao usuário que a ação dele é inválida.

  3. Remover o item no local informado da lista. Não se esqueça de que se estiver armazenando nomes e preços, você precisará remover tanto o nome quanto o preço das respectivas listas.

Veja abaixo um exemplo dessa funcionalidade, considerando que a lista tem 5 itens:


Qual item você gostaria de remover? 3
Item removido.

Qual item você gostaria de remover? 13
O número informado não é válido.

Calcular o Total

O programa deverá percorrer cada item da lista e somar os preços, e então exibir o valor total ao usuário.

Veja abaixo o resultado esperado, considerando que o valor total dos itens no carrinho de compras é de $ 35.68


O preço total dos itens no carrinho de compras é de R$ 35.68

Requisitos da Etapa

Durante a semana, para ajudar a garantir que você esteja caminhando para concluir a tarefa, você precisará realizar o seguinte:

  1. Ter um sistema de menu que se repete até que o usuário decida sair.

  2. Criar uma lista para armazenar os nomes dos itens do carrinho de compras.

  3. Concluir a opção para adicionar o nome do item à lista.

  4. Concluir a opção para exibir os nomes dos itens da lista.

Veja abaixo a funcionalidade do programa até aqui:


Bem-vindos ao Programa de Carrinho de Compras!

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? cama
O item 'cama' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? cadeira
O item 'cadeira' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? cobertor
O item 'cobertor' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 2
O conteúdo do carrinho de compras é:
cama
cadeira
cobertor

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 5
Obrigado. Até mais.

Requisitos Finais

Além das funcionalidades acima, para o projeto final, você também precisará concluir o seguinte:

  1. Armazenar preços e nomes.

  2. Alterar a funcionalidade de adição para também solicitar e armazenar o preço do item.

  3. Alterar a funcionalidade de exibição para também exibir os preços dos itens.

  4. Ao exibir os itens, o programa deverá mostrar um número antes de cada item. Os números deverão começar com 1.

  5. Concluir a opção de exibir o valor total dos preços de todos os itens do carrinho de compras.

  6. Sempre que os preços forem exibidos, deverão incluir duas casas decimais e a moeda apropriada (por exemplo R$, $, € etc.)

  7. Concluir a opção para remover um item do carrinho de compras.

  8. Ao remover um item, verifique o seguinte:

    • O nome e o preço do item deverão ser removidos de suas respectivas listas.

    • O número digitado pelo usuário deverá ser convertido em um índice base 0 e verificado para garantir que esteja dentro dos limites da lista.

    • O programa deverá permitir que qualquer item da lista seja removido, incluindo o primeiro e o último. (Às vezes, se o seu projeto tiver um bug (erro), você pode não conseguir remover o último item como deveria.)

A seguir mostramos um exemplo do programa completo:


Bem-vindos ao Programa de Carrinho de Compras!

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? Leite
Qual é o preço de 'Leite'? 3.49
O item 'Leite' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? Pão
Qual é o preço de 'Pão'? 2.50
O item 'Pão' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 1
Qual item você gostaria de adicionar? Manteiga
Qual é o preço de 'Manteiga'? 4.00
O item 'Manteiga' foi adicionado ao carrinho.

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 2
O conteúdo do carrinho de compras é:
1. Leite - R$ 3.49
2. Pão - R$ 2.50
3. Manteiga - R$ 4.00

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 3
O conteúdo do carrinho de compras é:
1. Leite - R$ 3.49
2. Pão - R$ 2.50
3. Manteiga - R$ 4.00

Qual item você gostaria de remover? 2
Item removido.
Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 2
O conteúdo do carrinho de compras é:
1. Leite - R$ 3.49
2. Manteiga - R$ 4.00

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 4
O preço total dos itens no carrinho de compras é de R$ 7.49

Selecione uma das seguintes ações: 
1. Adicionar item
2. Ver carrinho
3. Remover item
4. Calcular o total
5. Sair
Por favor, insira uma ação: 5
Obrigado. Até mais.

Demonstrando Criatividade e Indo Além dos Requisitos

Além das funcionalidades listadas acima, adicione algo de sua criatividade à tarefa. Você pode considerar adicionar uma formatação melhor (por exemplo, alinhar os preços), armazenar informações adicionais, como a quantidade dos itens na lista, ou adicionar qualquer outra coisa que acredite que melhore o carrinho de compras.

Importante: Para receber crédito pela criatividade, você deverá inserir um comentário no início do programa que descreva o que você adicionou em uma ou duas frases.

Envio de Tarefa

Há uma tarefa para ser enviada no Canvas tanto para a Etapa quanto para a Entrega final. Lembre-se de:

Próxima Atividade

Outros links: