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

Não use IA para gerar o código deste programa.

Usar IA para gerar este programa é uma violação da política de IA do curso e pode resultar em nota zero na atividade, reprovação na disciplina ou remoção do programa.

Se você precisar de ajuda na atividade ou tiver dúvidas sobre o uso de IA, por favor pergunte ao seu instrutor.

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

Primeiro, o programa deve exibir todos os itens do carrinho de compras, como faz quando o usuário seleciona a opção 2, e então o usuário deve digitar o número do item que deseja remover, e esse item deve 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, ele digitará “2” (porque os números exibidos começam em 1), mas esse item será armazenado no Python no índice 1 (porque o Python começa a contagem em 0).

  2. Garantir 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 deve exibir uma mensagem informando ao usuário que ele fez uma escolha inválida.

  3. Remover o item naquela posição da lista. Não se esqueça de que, se estiver armazenando nomes e preços, será necessário remover tanto o nome quanto o preço das respectivas listas.

Veja abaixo um exemplo dessa funcionalidade, considerando que há 5 itens na lista:


O conteúdo do carrinho de compras é:

1. cama - R$100.00 
2. cadeira - R$24.99 
3. cobertor - R$48.50 
4. chapéu - $26.54
5. panela - R$30.00 

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

O conteúdo do carrinho de compras é:

1. cama - $100.00
2. cadeira - $24.99
3. chapéu - $26.54
4. panela - $30.00

Qual item você gostaria de remover? 13
Desculpe, esse número de item 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 R$35.68


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

Requisitos da Etapa

Até o meio da semana, para garantir que você esteja no caminho certo para concluir a tarefa, você precisa completar 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: