Ir ao conteúdo
  • Cadastre-se

C Porque meu Laço DO WHILE não funciona


Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Estou fazendo um exercício e preciso fazer esse programa:

Citação

Faça um programa que processe diversos pedidos feitos a essa loja de material de construção. Em cada pedido, deve ser solicitado até 3 produtos diferentes, identificado por seu código, e especificada a quantidade de unidades desejada. Informe o valor a pagar ao final de cada pedido. Repita o processamento de pedidos até que seja fornecido um código de pedido -1 (marca de parada). Ao final do processamento, emita um relatório de vendas com as seguintes informações:

 Número de unidades vendidas de cada produto;

 Produto mais vendido;

 Total vendido em reais;

 Número de pedidos processados.

 

Mas na parte de repetir o processo usando o DO WHILE ele não acontece , eis o código:

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int unidade,produto,quantidade,quantidade1,quantidade2,quantidade3,quantidade4,total_quantidade,codigo;
    int produto_mais_vendido,pedidos_processados;
    float preco,preco1,preco2,preco3,preco4;
    float preco_total,preco_total1,preco_total2,preco_total3,preco_total4;
    float total_vendido;
    int acumuladora;
    int resposta;







    do
    {
        acumuladora=0;
        codigo=0;

        printf("\n\n\nMaterial de Contrucao");
        for(codigo=1; codigo<=3 ; codigo++)
        {


            printf("\n\n1-Torneira =204.00");
            printf("\n2-Pia de Banheiro=99.00");
            printf("\n3-banco de plastico=8.00");
            printf("\n4-Fita adesiva=1.60");
            printf("\n5-Chave inglesa=50.00");

            printf("\n\nEscolha o Produto=");
            scanf("%d", &produto);

            if (produto==1)
            {
                preco=204.00;
                printf("\nVoce esta comprando torneira=%.2f",preco);
                printf("\nDigite a quantidade=");
                scanf("%d", &quantidade);
                preco_total=preco*quantidade;
                acumuladora=acumuladora+preco_total;
                printf("Total da compra=%.2f Reais",preco_total);


            }
            else if(produto==2)
            {
                preco1=99.00;
                printf("\nVoce esta comprando Pia de Banheiro=%.2f",preco1);
                printf("\nDigite a quantidade=");
                scanf("%d", &quantidade1);
                preco_total1=preco1*quantidade1;
                acumuladora=acumuladora+preco_total1;
                printf("Total da compra=%.2f Reais",preco_total1);


            }
            else if(produto==3)
            {
                preco2=8.00;
                printf("\nVoce esta comprando Banco de plastico=%.2f",preco2);
                printf("\nDigite a quantidade=");
                scanf("%d", &quantidade2);
                preco_total2=preco2*quantidade2;
                acumuladora=acumuladora+preco_total2;
                printf("Total da compra=%.2f Reais",preco_total2);


            }
            else if(produto==4)
            {
                preco3=1.60;
                printf("\nVoce esta comprando Fita adesiva=%.2f",preco3);
                printf("\nDigite a quantidade=");
                scanf("%d", &quantidade3);
                preco_total3=preco3*quantidade3;
                acumuladora=acumuladora+preco_total3;
                printf("Total da compra=%.2f Reais",preco_total3);


            }
            else if(produto==5)
            {
                preco4=50.00;
                printf("\nVoce esta comprando Chave inglesa=%.2f",preco4);
                printf("\nDigite a quantidade=");
                scanf("%d", &quantidade4);
                preco_total4=preco4*quantidade4;
                acumuladora=acumuladora+preco_total4;
                printf("Total da compra=%.2f Reais",preco_total4);


            }
        }

        printf("\n\nRelatorio de Vendas");
        total_vendido=acumuladora;
        printf("\nTotal Comprado=%.2f Reais",total_vendido);


        printf("\n\n1-Novo pedido");
        printf("\n2-Sair");
        printf("\nDigite a resposta:",resposta);
        scanf("%d",resposta);


    }while (resposta != 2);

    printf("Fim das compras");
    system("pause");

    return 0;
}

 

  • Obrigado 1
Link para o post
Compartilhar em outros sites
  • Solução

@eduwill

10 minutos atrás, eduwill disse:

printf("\nDigite a resposta:",resposta);
scanf("%d",resposta);

 

Faltou o especificador na função printf() e um & na função scanf().

 

Você declarou muitas variáveis, não prefere usar vetores?

Também acharia interessante usar a estrutura condicional switch/case para avaliar a variável produto.

  • Obrigado 2
Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

minicurso-montagem-popup.jpg

MINICURSO GRÁTIS!

Como ganhar dinheiro montando computadores!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!