Ir para conteúdo
Kr3w^

[Resolvido] Sistema de Orçamento em c#

Recommended Posts

O erro acontece em que linha?

 

Porque isso não tem nada a ver com o Geral.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então cara, não da error, simplesmente parece que não faz a soma corretamente, olha como esta o codigo geral

 

Variaveis criadas:

 

        double valorprod1 = 0, valorprod2 = 0, totalprodutos = 0, valorserv1 = 0, valorserv2 = 0, totalservicos = 0; 
       double geraltotal = 0;
       int col = 0, coluna = 0;

 

frmOrçamento_Load:

 

        private void frmOrcamento_Load(object sender, EventArgs e)
       {
           Cabecalho();

           for (int lin = 0; lin < ClassArrayProdutos.numRegProd; lin++)
           {
               for (col = 0; col < 6; col++)
               {
                   valorprod1 = double.Parse(ClassArrayProdutos.vetorprodutos[lin, 3].ToString());
                   valorprod2 = double.Parse(ClassArrayProdutos.vetorprodutos[lin, 4].ToString());
                   totalprodutos = valorprod1 * valorprod2;
                   //SOMANDO OS VALORES
                   geraltotal = geraltotal + totalprodutos;
                   txtBoxImprimir.Text = txtBoxImprimir.Text + ClassArrayProdutos.vetorprodutos[lin, col];
                   EspacoProdutos();
               }

               if (col == 6)
               {
                   txtBoxImprimir.Text = txtBoxImprimir.Text + totalprodutos.ToString("#,##0.00");
                   col = 0;
                   NovaLinha();
               }
               else
               {
                   col++;
               }
           }

           Divisão();
           Servicos();

           for (int linha = 0; linha < ClassArrayServicos.numRegServ; linha++)
           {
               for (coluna = 0; coluna < 3; coluna++)
               {
                   valorserv1 = double.Parse(ClassArrayServicos.vetorservicos[linha, 1].ToString());
                   valorserv2 = double.Parse(ClassArrayServicos.vetorservicos[linha, 2].ToString());
                   totalservicos = valorserv1 * valorserv2;
                   //SOMANDO OS VALORES
                   //geraltotal = geraltotal + totalservicos;
                   txtBoxImprimir.Text = txtBoxImprimir.Text + ClassArrayServicos.vetorservicos[linha, coluna];
                   EspacoProdutos();
               }

               if (coluna == 3)
               {
                   txtBoxImprimir.Text = txtBoxImprimir.Text + totalservicos.ToString("#,##0.00");
                   coluna = 0;
                   NovaLinha();
               }
               else
               {
                   coluna++;
               }
           }

           Divisão();
           Total();
           totalespaco();
           txtBoxImprimir.Text = txtBoxImprimir.Text + geraltotal.ToString();
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Calma, ele está dando erro aonde? No Subtotal de cada item ou no geral?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no item geral,

 

olha um exemplo:

Adicionei 2 produtos e 2 serviços, os SubsTotais deles estão corretos... Quantidade * Valor de cada um,

ja a soma total olha o geral que deu "3090" ...??

 

QQAAAL6N_EG4TSviVRH2jlCw82uhc3zIlziMIOmJM40Fn6_DUMWo9aLx_agqbfoEIUSdMi2B1nCtB6hXW4BbMGtOLBlwr3dSUrOrlyzuy3Kbhw8lAJtU9VAkJ0w1Uke6a9XGLaWd5vfPHPCN0Q.jpg

 

 

Segue o código:

 

Variaveis:

        double valorprod1 = 0, valorprod2 = 0, totalprodutos = 0, valorserv1 = 0, valorserv2 = 0, totalservicos = 0; 
       double geraltotal = 0;
       int col = 0, coluna = 0;

 

 

Código:

 Cabecalho();

           for (int lin = 0; lin < ClassArrayProdutos.numRegProd; lin++)
           {
               for (col = 0; col < 6; col++)
               {
                   valorprod1 = double.Parse(ClassArrayProdutos.vetorprodutos[lin, 3].ToString());
                   valorprod2 = double.Parse(ClassArrayProdutos.vetorprodutos[lin, 4].ToString());
                   totalprodutos = valorprod1 * valorprod2;
                   //SOMANDO OS VALORES
                   geraltotal = geraltotal + totalprodutos;
                   txtBoxImprimir.Text = txtBoxImprimir.Text + ClassArrayProdutos.vetorprodutos[lin, col];
                   EspacoProdutos();
               }

               if (col == 6)
               {
                   txtBoxImprimir.Text = txtBoxImprimir.Text + totalprodutos.ToString("#,##0.00");
                   col = 0;
                   NovaLinha();
               }
               else
               {
                   col++;
               }
           }

           Divisão();
           Servicos();

           for (int linha = 0; linha < ClassArrayServicos.numRegServ; linha++)
           {
               for (coluna = 0; coluna < 3; coluna++)
               {
                   valorserv1 = double.Parse(ClassArrayServicos.vetorservicos[linha, 1].ToString());
                   valorserv2 = double.Parse(ClassArrayServicos.vetorservicos[linha, 2].ToString());
                   totalservicos = valorserv1 * valorserv2;
                   //SOMANDO OS VALORES
                   geraltotal = geraltotal + totalservicos;
                   txtBoxImprimir.Text = txtBoxImprimir.Text + ClassArrayServicos.vetorservicos[linha, coluna];
                   EspacoProdutos();
               }

               if (coluna == 3)
               {
                   txtBoxImprimir.Text = txtBoxImprimir.Text + totalservicos.ToString("#,##0.00");
                   coluna = 0;
                   NovaLinha();
               }
               else
               {
                   coluna++;
               }
           }

           Divisão();
           Total();
           totalespaco();
           txtBoxImprimir.Text = txtBoxImprimir.Text + geraltotal.ToString();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim, coloque alguns breakpoints nesta parte e veja os valores que a variável está adquirindo. Poste as prints aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos la...

para testar eu adicionei 1 produto e 1 serviço

produto no valor de 120 reais com 2 quantidades = 240,00

serviço no valor de 20 reais com 2 quantidades = 40,00

 

 

Print 1: For dos produtos. ( cursor em cima da variavel 'geraltotal' )

QQAAAL6N_EG4TSviVRH2jlCw82tuaTDW41EZXf_fxBNcBvN1y8kQBRfEaKc7wYneEv5ShA6k-rZjFTxl5T16BKb1gP8BLi79W2B0C83ORXxBbCI3AJtU9VCDQF2eWXsSFsp46CxmWNEzRNGrlA.jpg

 

 

Print2: For dos produtos. ( cursor em cima da variavel 'totalprodutos' **OBS: repare que ele contem o valor do produto adicionado - 120,00 reais * 2 quantidades = 240,0)QQAAAL6N_EG4TSviVRH2jlCw82v98FGyFZJFclxqB-HDHSuAdbItE7U3bknTR5BctHxy_h9KJiZCk1c9Tqz92AMEf_PIDWmXo7RcjscbgpSclAVXAJtU9VCOdd-c75aWgRhuRoVo0vlEQTxO8g.jpg

 

 

Print3: For dos serviços. ( cursor em cima da variavel 'totalgeral' **OBS: repare que a variavel geraltotal ja está com um valor de 1440,00 ... sendo que era pra estar com o valor de 240,00 que era do produto adicionado... )

QQAAAL6N_EG4TSviVRH2jlCw82tZzwWo9o0EFF3lVBArTJ0QntatKG6nMP1FI53ubVraCH22ribVkFjhXifi-MtBm9olpNzs4kUGlGzzzHiIC8IRAJtU9VBayKsLZ9VRRlXBGmnrrTvYSLxzYQ.jpg

 

 

Print4: For dos serviços. ( cursor em cima da variavel 'totalservicos' **OBS: repare que ele contem o valor do serviço que eu adicionei - 20 reais * 2 quantidades = 40,0 )

QQAAAL6N_EG4TSviVRH2jlCw82twWztOBrfAEqPWIex4ECS5VqSbruLXAwG-jiBJY6AAUf3F3L8LU1Sx2PTJr0keb_LqUH8QDEDxpRVNnAU8BX7QAJtU9VDkRgTl96IqfmbeDANd0YSP8cP9Xw.jpg

 

 

Print5: o Final do código ( que no caso deveria mostrar o resultado de totalprodutos adicionados e totalserviços, no caso desse exemplo seria: 240,00 + 40,00 = 280,00 , **OBS: mais olhe o valor da variavel... )

QQAAAL6N_EG4TSviVRH2jlCw82uZPeGTWw5yOTSORFkkGjkxRsNHE_yGtHfnFfSvP0vISSvhlK4DRoQYLnaAW2H8jsc0AjvZO_L32u7IS_qm60PmAJtU9VBBIntuzYCa94fi9vBk8KUekbcUvg.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele está somando coisas a mais ai... Segundo meus calculos, para dar 1440 ele tem que somar 240 na variável 6 vezes, ou seja, ele está passando na linha, tente adicionar este código no final do for das linhas, após as colunas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvi o problema, era a questão do que voce disse mesmo... eu tive que colocar as somas em outros lugares especificos... por exemplo a soma do valor * quantidade, coloquei dentro do if que diz ( col == 6 ) que é a coluna do valor.. e assim por diante! muito obrigado!

Editado por Kr3w^

Compartilhar este post


Link para o post
Compartilhar em outros sites

sobre o caso de deixar cada item embaixo da sua respectiva coluna acho que dessa maneira que eu encontrei aqui poderia ser feito normalmente

 

nesse exemplo mostra os itens ficando em sequencia tipo

 

Codigo Produto Marca Valor Unit Quantidade Valor R$

01, TestProd, TestMarc, 100,00, 2, 200,00

 

da pra ser feito igual no exemplo a baixo né?

http://www.macoratti.net/12/08/c_ftxt1.htm

 

veja já no começo do tutorial, da pra ficar dessa forma né? com esse espaçamento defenido pelo {0-10} e assim por diante..

 

se tiver como e for mais facil, como eu poderia estar jogando isso no Array?

Editado por Kr3w^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, é isso mesmo, para jogar no Array você precisará do StringBuilder que o próprio autor mostra como fazer, então seguindo este tutorial, o que você precisa fazer é montar toda linha antes e depois exibí-la usando o comando .ToString(), leia todo o tutorial que você entenderá como usar o StringBuilder da classe .Text

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, 2015 hehehe

 

Bom estou com a dificuldade de imprimir um orçamento que realizo no datagrid, e pelo que vi Kr3w^ conseguiu.

 

Tem como mostrar o código por completo para mim ter ideia do que fez.

 

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vish cara, acho que o melhor a fazer é ir rolando as páginas pra trás para poder pegar os trechos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.