Ir ao conteúdo
  • Cadastre-se

Salvar um valor, para somar fora do laço de repetição!


xMinato

Posts recomendados

 Fala ai galera, meu nome é Alexandre. Eu estou numa faculdade de computação e no momento estou tentando criar um programa(para treinar a programação basicamente) esse programa e como se fosse em um supermercado,  a pessoa vem, digita o produto que ela quer a quantidade, e o programa calcula seu valor total. porém nao estou consehbguindo salvar esse valor fora do laço de repetição, para quando o usario nao desejar comprar mais somar apenas os valores totais que ele ja comprou. se poderem dar uma dica do que eu poderia fazer, fico grato! Segue o codigo do programa!

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<string.h>
main()
{
    float preco,tot,comp,somapreco;
    int cat,cod,qtd,resp,opmenu,und;
    char s,n,op;
    und=0;
    somapreco=0;
    printf("Digite qualquer telca para iniciar o programa!\n\n");
    printf("\n\nSempre que quiser voltar ao menu anterior, digite 0.\n\nSe quiser fechar o programa, digite 0, tres vezes!\n\n\n");
    do{
    if(op=!1){system("cls");}
    scanf("%d",&opmenu);
    printf("Digite a categoria do produto que deseja comprar:");
    printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",201,205,205,205,205,205,205,205,205,205,205,205,205,205,187);
    printf("\n%c1-Bebidas    %c      \n%c2-Laticionio %c    \n%c3-Acougue    %c       \n%c4-Verduras   %c     \n%c5-Alimentos  %c      \n%c6-Limpeza    %c       \n%c7-Higiene    %c\n%c0-Sair       %c",186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186);
    printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",200,205,205,205,205,205,205,205,205,205,205,205,205,205,188);
    printf("\nDigite a Categoria do produto desejado: ");
    scanf("%d",&cat);
    if (cat == 1)
        {
        fflush(stdin);
        printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",201,205,205,205,205,205,205,205,205,205,205,205,205,205,187);
        printf("\n%c1-Whisky     %c      \n%c2-Vodka      %c    \n%c3-Cerveja    %c      \n%c4-Tekila     %c\n%c5-Refrigerant%c\n%c6-Energetico %c\n%c7-Catuaba    %c\n%c0-Voltar     %c",186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186);
        printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",200,205,205,205,205,205,205,205,205,205,205,205,205,205,188);
        printf("\nDigite o codigo do produto: ");
        scanf("%d",&cod);
        printf("\nDigite a quantidade do produto: ");
        scanf("%d",&qtd);
            if(cod == 1)
                {
                    preco=95.40;
                    tot=preco*qtd;

                }

            else if(cod == 2)
                {
                    preco=18.7;
                    tot=preco*qtd;

                }
             else if(cod == 3)
                {
                    preco=1.89;
                    tot=preco*qtd;


                }
             else if(cod == 4)
                {
                    preco= 60.8;
                    tot=preco*qtd;


                }
             else if(cod == 5)
                {
                    preco=5.3;
                    tot=preco*qtd;

                }
             else if(cod == 6)
                {
                    preco= 9.9;
                    tot=preco*qtd;

                }
             else if
             (cod == 7)
                {
                    preco=12;
                    tot=preco*qtd;


                }
            while (cod >= 8)
            {
                printf("Codigo incorreto, por favor tente um codigo valido!");
                system ("pause");
                return 0;
            }

            printf("\ncodigo:%d    \npreco: %.2f ",cod,preco);
    }

        else if( cat == 2)
            {
                printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",201,205,205,205,205,205,205,205,205,205,205,205,205,205,187);
                printf("\n%c1-leite Desn %c     \n%c2-Leite Int. %c     \n%c3-Beb. Lactea%c\n%c4-Danone     %c   \n%c5-Manteiga   %c\n%c0-Voltar     %c",186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186);
                printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",200,205,205,205,205,205,205,205,205,205,205,205,205,205,188);
                printf("\nDigite o codigo do produto desejado:");

                    if(cod == 1)
                        {
                            preco=3.35;
                            tot=preco*qtd;

                        }
                    else if(cod == 2)
                        {
                            preco=3.49;
                            tot=preco*qtd;

                        }
                    else if (cod == 3)
                        {
                            preco=3.99;
                            tot=preco*qtd;

                        }
                    else if (cod == 4)
                        {
                            preco=4.99;
                            tot=preco*qtd;

                        }
                    else if (cod == 5)
                        {
                            preco=6.99;
                            tot=preco*qtd;

                        }
                printf("\nProduto: %d",cod);
                printf("\nPreco do produto: %.2f",preco);
                printf("\nPreco total da compra: %.2f",somapreco);

            }
    printf("\nQuantidade       Produto\n    %d               %d\n",qtd,cod);
    fflush(stdin);
    printf("O valor total da compra foi de: %.2f\n",tot);
    scanf("%f",&tot);
    printf("\nDigite uma tecla qualquer para continuar!");
    printf("\nDigite 0(zero), caso o senhor nao queira comprar mais nada.");
    printf("\nDeseja comprar algo mais?(s/n)");
    scanf("%c",&op);
    system("pause");
    system("cls");
    system("pause");

}while (opmenu != 's');



}

Detalhe, estou tentando programar em C no code::blocks

@edit¹: lembrando que o programa esta faltando varios menus, que eu criarei futuramente, porém quero primeiro solucionar esta parte de somar as bebidas com os laticinios por exemplo, e assim sucessivamente...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@xMinato     o que você precisa fazer é colocar dentro do loop while os comandos para pegar os preços e produtos e ir somando e guardando na variável somapreco e então ver se a pessoa quer continuar comprando ou não, tipo isso :

do{
    op=1
    aqui vai somando os preços dos produtos comprados
      .
      .
    somapreco=prod * qtd * preco;
    e aqui no final coloca isso
    printf("quer continuar comprando   1 = Sim   2 = Não");
    scanf(op);
}while(op==1);
printf("o valor de suas compras foi %f",somapreco);

se não quiser comprar mais, então fim do programa, ele mostra o valor das compras.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!