Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Controle de faturamento de um bar


Lucas Vieira Machado

Pergunta

Bom dia pessoal estou com um problema nesse código que estou criando pro meu trabalho na faculdade, esta dando um problema em um dos resultados que não consigo resolver por nada.
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
    //LUCAS VIEIRA MACHADO
    //CONTROLE DO BUTECO
int main()
{
   float precoCerveja, precoRefrigerante, precoAgua; // Variaveis para guarda preços
   float totalMesas, totalCerveja, totalRefrigerante, totalAgua, totalTiragosto, totalOutros, totalDesconto, lucro; //Resultados para fim de programa.
   int indice, qt; // variavel que sera usada no vetor para numeração.
   
   printf("Defina o preço da cerveja: "); 
   scanf("%f",&precoCerveja);// DEFINIÇÂO DO PREÇO DA CERVEJA.
   printf("Defina o preço do refrigerante: "); 
   scanf("%f",&precoRefrigerante);// DEFINIÇÂO DO PREÇO DO REFRIGERANTE.
   printf("Defina o preço da agua: "); 
   scanf("%f",&precoAgua);// DEFINIÇÂO DO PREÇO DA AGUA.
   
   printf("Defina a quantidades de mesas utilizadas na noite: "); 
   scanf("%d",&indice);// DEFINIÇÂO DO NUMEROS DE ESPAÇO NO VETOR E NUMERACAO DAS MESAS.
   
   qt = indice; //Variavel recebendo valor de indice para controle do laço FOR.
   
   float qtMesas[indice],qtCerveja[indice], qtRefrigerante[indice], qtAgua[indice], tiragosto[indice], outros[indice], desconto[indice]; //Declarodo depois pois precisava do numero do vetor antes.
   
   system("cls"); //COMANDO PARA LIPAR A TELA DE DIGITAÇÂO.
   
   
   for(indice = 0 ; indice < qt ; indice++)// Entrada de Dados por mesa
        {
            printf("Mesa %d:\n", indice+1);
            
            printf("Digete quantidade de cervejas consumidas: ");
            scanf("%f", &qtCerveja[indice]);
            printf("Digete quantidade de refrigerantes consumidos: ");
            scanf("%f", &qtRefrigerante[indice]);
            printf("Digete quantidade de agua consumida: ");
            scanf("%f", &qtAgua[indice]);
            printf("Digete o valor em tira gosto que foi consumido: ");
            scanf("%f", &tiragosto[indice]);
            printf("Digete o valor de outros produtos que possa ter sido consumido: ");
            scanf("%f", &outros[indice]);
            printf("Digete o valor de desconto consedido: ");
            scanf("%f", &desconto[indice]);
            
            system("cls"); //COMANDO PARA LIPAR A TELA DE DIGITAÇÂO.
        }
        
        
    printf("FECHAMENTO DA NOITE\n\n");
    printf("Receita por mesa: \n");
    
    for(indice = 0 ; indice < qt ; indice++)//Processamento de dados para receita por cada mesa.
        {
            qtMesas[indice] = ((qtCerveja[indice] * precoCerveja) + (qtRefrigerante[indice] * precoRefrigerante) + (qtAgua[indice] * precoAgua) + tiragosto[indice] + outros[indice]) - desconto[indice];
            printf("Mesa %d: R$ %.2f\n", indice+1, qtMesas[indice]); // exibição do resultado por mesa.
        }
        
     printf("\nReceita por produto :\n");  
     
     for(indice = 0 ; indice < qt ; indice++)//Processamento de dados para receita por cada produto e total da noite.
        {
            totalCerveja = totalCerveja + (qtCerveja[indice] * precoCerveja);
            totalRefrigerante = totalRefrigerante + (qtRefrigerante[indice] * precoRefrigerante);
            totalAgua = totalAgua = (qtAgua[indice] * precoAgua);
            totalTiragosto = totalTiragosto + tiragosto[indice];
            totalOutros = totalOutros + outros[indice];
            totalDesconto = totalDesconto + desconto[indice];
            lucro = lucro + qtMesas[indice];
         }  
        
      printf("Cerveja: R$ %.2f\n", totalCerveja);
      printf("Refrigerante: R$ %.2f\n", totalRefrigerante);
      printf("Agua: R$ %.2f\n", totalAgua);
      printf("Tira gosto: R$ %.2f\n", totalTiragosto);
      printf("Outros: R$ %.2f\n\n", totalOutros);
      printf("Total de Desconto concedido na noite: R$ %.2f\n\n", totalDesconto);
      printf("Receita total da noite: R$ %.2f\n\n\n", lucro);
        

    system("pause");
    
    return 0;
}
printe3%2520erro.jpg
Editado por Jhonas
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá!

Ao que parece o código parece estar funcionando perfeitamente, apenas que:

- como estou usando linux exclui a <conio.h> do meu código juntamente com as funções system("cls") e system("pause")

- na hora do teste o codigo só funciona se eu utilizar ( . ) para separar as casas decimais, aqui a virgula não funciona!

- e o meu compilador apresenta os seguintes alertas:

Linha |64|warning: operation on ‘totalAgua’ may be undefined [-Wsequence-point]|

Linha |8|warning: unused variable ‘totalMesas’ [-Wunused-variable]|

||=== Build finished: 0 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|

Eu apenas testei o seu codigo eu não o analisei detalhadamente ainda, mas ate aqui ele esta funcionando perfeitamente!

A proposito, eu só comecei a usar o forum agora se possivel me explique como você colocou a imagem acima no seu post, quero postar uma screen da minha tela, para ver se é o que você esta tentando fazer no seu programa ! ! !

Ubuntu 14.04 - GCC 4.8 - Codeblocks 13.12

Espero ter ajudado!

Editado por Felipe-Petrópolis
Link para o comentário
Compartilhar em outros sites

  • 0

Felipe-Petrópolis

eu consegui fazer o código não puxar o lixo de memória, a unica mudança que eu tive que fazer, foi antes do ultimo FOR eu atribuir as variáveis o valor "0"..meu código também estava com um erro no totalAgua por isso deve ter aparecido isso e meu totalMesas acabei não utilizando.

for(indice = 0 ; indice < qt ; indice++)//Processamento de dados para receita por cada mesa.
        {
            qtMesas[indice] = ((qtCerveja[indice] * precoCerveja) + (qtRefrigerante[indice] * precoRefrigerante) + (qtAgua[indice] * precoAgua) + tiragosto[indice] + outros[indice]) - desconto[indice];
            printf("Mesa %d: R$ %.2f\n", indice+1, qtMesas[indice]); // exibição do resultado por mesa.
        }
        
     printf("\nReceita por produto :\n");  
     
     //Variaveis recebendo o valor 0 para evitar lixo de memoria.
     totalCerveja = 0;
     totalRefrigerante = 0;
     totalAgua = 0;
     totalTiragosto = 0;
     totalOutros = 0;
     totalDesconto = 0;
     lucro = 0;
     
     for(indice = 0 ; indice < qt ; indice++)//Processamento de dados para receita por cada produto e total da noite.
        {
            totalCerveja = totalCerveja + (qtCerveja[indice] * precoCerveja);
            totalRefrigerante = totalRefrigerante + (qtRefrigerante[indice] * precoRefrigerante);
            totalAgua = totalAgua + (qtAgua[indice] * precoAgua);
            totalTiragosto = totalTiragosto + tiragosto[indice];
            totalOutros = totalOutros + outros[indice];
            totalDesconto = totalDesconto + desconto[indice];
            lucro = lucro + qtMesas[indice];
         }  

e sobre a imagem quando você esta editando tem um simbolo de uma image do lado de "<>". la você cola a url da imagem que você quer colocar.. eu postei a foto no picasa para copiar a url.
Editado por Lucas Vieira Machado
Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Fico feliz em saber que você consegui solucionar o problema, parabens!

Também estava desconfiado de que o problema poderia ser lixo de memória, mas como o problema não aconteceu aqui deixei essa opção de lado, acho que as configurações do meu sistema inibiram o problema de ocorrer, mas é algo que vou aprender e levar para o resto dos meus estudos em C ! ! !

e obrigado pela explicação sobre a postagem de imagens, vou criar uma conta em serviço similar para usar em meus posts futuros!

Até mais ! ! !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...