Informática, perguntado por heyathenario, 4 meses atrás

​Atualmente temos diversas formas de vendas, aliadas aos seus respectivos sistemas. Contudo, ainda, existem algumas empresas, geralmente as de pequeno porte que ainda trabalham com vendas “fiado” para alguns clientes, consequentemente, este procedimento acaba por criar diversas complicações, que podem levar o empresário a falência. Bom, não iremos analisar estes processos ok.

Diante deste fato, imagine a mercearia da família do professor João Messias. Está empresa, ainda não possui sistema de vendas, ou seja, anota todas as vendas no “caderninho”, tanto venda efetuada, quanto venda “fiado”. Este é um problema sério que o João Messias enfrenta toda vez que um cliente deseja pagar, ele deve somar todas as notinhas. João Messias, quer informatizar o sistema da mercearia, e nesta versão, não terá mais as vendas “fiado”. Sendo assim, o João Messias, necessita realizar um levantamento de vendas que foram efetuadas “fiado” para que possa ser lançado no sistema quando receber as notinhas de seus clientes.

O módulo a ser implementado consiste em:

1 - Uma rotina de cadastro do valor de cada notinha de cada cliente, e neste cadastro deve conter além do valor de cada nota, o nome do cliente. Assuma que existe atualmente 20 clientes no caderninho. Assuma também que, cada cliente tem 10 notinhas.
2 - Uma rotina de impressão de todos os clientes com o seu valor total a pagar. E ao final mostrar um somatório total.
3 - Criar um menu simples com as 2 opções e uma opção para sair.


cassianeto98xcv9877: ➖➖➖➖ MAPAS E ATIVIDADES ➖➖➖
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
➖*➖
➖*➖
*1️⃣*/*5️⃣ ** 9️⃣ **8️⃣ **1️⃣ **1️⃣ **5️⃣➖//➖ 0️⃣ **6️⃣ **8️⃣ **0️⃣ ➖➖*
➖*➖
➖*➖
➖*➖
➖*➖
cassianeto98xcv9877: ....

Soluções para a tarefa

Respondido por sahmer379
1

Resposta

Algoritmo Atentificanotacliente

         tipo

             CadProduto = registro

                        nomeCliente: vetor [1..20] de caractere

                        valorNota: vetor [1..10] de real

                        valorTotal: real

fim_registro

procedimento mostrarMenu()

inicio

escreva (" 1 - cadastro registro ")

escreva (" 2 - Mostrar o somatório do Cliente ")

escreva (" 3 - Mostrar o valor a pagar do Cliente ")

escreva (" 4 - Mostrar o valor total dos Clientes ")

fim_procedimento

procedimento notasCadastrar ()

inicio

se (qtdNota < 10) entao

  escreva ("Digite o Nome do Cliente: ")

  leia (notas [qtdNota + 1].nomeCliente)

  escreva ("Digite o valor da Nota: ")

  leia (notas [qtdNota + 1].valorNota)

  escreva ("Digite o valor total a pagar: ")

  leia (notas [qtdNota + 1].valorTotal)

  escreva (" Notas Cadastrado com Sucesso! ")

senao

  escreva (" Limite máximo atigindo: 20 notas! ")

  fim_se

  opt <- 0

  fim_procedimento

  funcao notasBuscar (cod: inteiro) : inteiro

  var

  i, achou: inteiro

  inicio

  i <- 1

  achou <- 0

  enquanto (i <= qtdNota) faça

     se (notas .nomeCliente == cod) entao

        escreva (" nota: ", cod)

        escreva (" valor da nota: ", notas.valorNota)

        escreva (" valor total a pagar: ", notas.valorTotal)

        retorne i

        fim_se

        i <- i = 1

        fim_enquanto

        escreva (" nota não encontrada... ")

        retorne -1

        fim_funcao

        procedimento notasValorPagar ()

        var

        i, j, k: inteiro

        aux: CadProduto

        inicio

        para i de 1 ate qtdNota passo 1 faca

           para j de i + 1 ate qtdNota passo 1 faca

              k <- 1

              enquanto ((notas.valorNota[k] = notas[j].valorNota[k] e (k <= 50)) faça

                 k <- k + 1

                 fim_enquanto

                 se ((notas.valorNota[k] > notas[j].valorNota[k]) e (k <= 50)) entao

                    aux <- notas

                    notas <- notas

                    notas[j] <- aux

                    fim_se

                    fim_para

                    fim_para

                    fim_procedimento

                    procedimento notasMostrar ()

                    var

                    i: inteiro

                    inicio

                    para i de 1 ate qtdNotas passo 1 faca

                       escreva (" notas: ", notas.nomeCliente)

                       escreva (" valor da nota: ", notas.valorNota)

                       escreva (" valor total a pagar: ", notas.valorTotal)

                       fim_para

                       fim_procedimento

                       var

                       notas: vetor[1..10] de CadProduto

                       opt, qtdNotas, i: inteiro

                       inicio

                       qtdNotas <- 0

                       repita

                          mostrarMenu ()

                          leia (opt)

                       caso (opt)

                          seja 1 faca

                          para i de 1 ate 20 passo 1 faca

                             notasCadastrar ()

                             fim_para

                             seja 2 faca

                             notasBuscar ()

                             seja 3 faca

                             notasValorPagar ()

                             seja 4 faca

                             notasMostrar ()

                             fim_caso

                             ate_que (opt = 6)

fim

Explicação: e uma sub rotina usando registro ,com funçao

Perguntas interessantes