Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

Kr3w^

[Resolvido] Sistema de Orçamento em c#

Recommended Posts

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();
       }

Share this post


Link to post
Share on other 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();

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.