Ir ao conteúdo
  • Cadastre-se

Marcelo Ferraz Bueno

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

1
  1. Galera eu estou desenvolvendo um programa que trabalha muito com laços de repetição. A minha dúvida é se é possível de alguma forma salvar o Debug do Visual Studio em um determinado laço para quando eu for debugar não ter que passar o programa todo de novo.
  2. @Flávio Pedroza Tive um outro problema com esse código, será que você pode me ajudar ? O resultado tinha dado certo porque no arquivo lido não tinha um produto repetido. Por exemplo, tenho dois números de pedido e em ambos ele contem o mesmo produto, ao invés de o programa somar apenas os produtos do pedido atual ele soma todos a primeira ocorrência do produto deixando o segundo pedido zerado. Como eu poderia fazer para ele somar apenas os produtos do mesmo pedido ?
  3. @Flávio Pedroza Obrigado pela ajuda, eu testei mas não deu certo. Seguindo a sua linha de pensamento modifiquei da seguinte maneira: Recjun ped = Lista.Find(x => x.Pedido == int.Parse(spedido)); if (ped != null) { Recjun prod = Lista.Find(x => x.Produto == int.Parse(sproduto)); if (prod != null) { double prod2 = double.Parse(squantidade); prod.Quantidade += prod2; } else { Lista.Add(new Recjun(rec.Pedido, rec.Produto, rec.Quantidade, rec.Tipo)); } } else { Lista.Add(new Recjun(rec.Pedido, rec.Produto, rec.Quantidade, rec.Tipo)); } Dessa maneira consegui chegar no resultado que queria. Muito obrigado pela sua ajuda.
  4. Boa tarde a todos, Estou desenvolvendo um código que lê um arquivo txt com diversas informações e preciso que ele me dê a quantidade de um determinado produto. O programa faz a leitura e acrescenta as informações a uma lista e exibe na tela as informações do txt da maneira que quero, mas eu queria que quando o número do pedido e o código do produto fossem iguais ele somasse a quantidade do produto e retornasse na tela apenas uma linha com o total. O programa foi desenvolvido da seguinte forma. Classe. class Recjun { /* 1 = 588382; - Pedido Double 2 = 01038306; - Serie Double 3 = 003; - Filial Int 4 = 09; - Terminal Int 5 = 1315; - Produto Int 6 = 2309; - Calculo Int 7 = 0001,000; - Quantidade Double 8 = 000,166; - Quebra Double 9 = 020; - Ind1 Int 10 = CX; - Tipo String 11 = 190925; - Data Double 12 = 0914; - Hora Int 13 = ; - Nulo String 14 = E; - Ope1 String 15 = E; - Ope2 String 16 = 000017 - Ind2 Double */ public double Pedido, Serie, Quantidade, Quebra, Data, Ind2; public int Filial, Terminal, Produto, Calculo, Ind1, Hora, Resultado; public string Tipo, Nulo, Ope1, Ope2; public Recjun() { } public Recjun(double pedido, double serie, int filial, int terminal, int produto, int calculo, double quantidade, double quebra, int ind1, string tipo, double data, int hora, string nulo, string ope1, string ope2, double ind2) { Pedido = pedido; Serie = serie; Filial = filial; Terminal = terminal; Produto = produto; Calculo = calculo; Quantidade = quantidade; Quebra = quebra; Ind1 = ind1; Tipo = tipo; Data = data; Hora = hora; Nulo = nulo; Ope1 = ope1; Ope2 = ope2; Ind2 = ind2; } public override string ToString() { return Pedido + ", " + Produto + ", " + Quantidade + ", " + Tipo + ".".ToString(); } } Programa: using System; using System.IO; using System.Collections.Generic; namespace Testes_Repeticao { class Program { static void Main(string[] args) { List<Recjun> List = new List<Recjun>(); Recjun rec = new Recjun(); StreamReader stream = new StreamReader("C:/RECJUN.TXT"); string produtoslidos; int contador = 0; while ((produtoslidos = stream.ReadLine()) != null) { contador++; } StreamReader stream2 = new StreamReader("C:/RECJUN.TXT"); while ((produtoslidos = stream2.ReadLine()) != null) { string[] recjun = produtoslidos.Split(';'); string spedido = recjun[0]; string sserie = recjun[1]; string sfilial = recjun[2]; string sterminal = recjun[3]; string sproduto = recjun[4]; string scalculo = recjun[5]; string squantidade = recjun[6]; string squebra = recjun[7]; string sind1 = recjun[8]; string stipo = recjun[9]; string sdata = recjun[10]; string shora = recjun[11]; string snulo = recjun[12]; string sope1 = recjun[13]; string sope2 = recjun[14]; string sind2 = recjun[15]; Recjun[] Vect = new Recjun[contador]; rec.Pedido = int.Parse(spedido); rec.Serie = double.Parse(sserie); rec.Filial = int.Parse(sfilial); rec.Terminal = int.Parse(sterminal); rec.Produto = int.Parse(sproduto); rec.Calculo = int.Parse(scalculo); rec.Quantidade = double.Parse(squantidade); rec.Quebra = double.Parse(squebra); rec.Ind1 = int.Parse(sind1); rec.Tipo = stipo; rec.Data = double.Parse(sdata); rec.Hora = int.Parse(shora); rec.Nulo = snulo; rec.Ope1 = sope1; rec.Ope2 = sope2; rec.Ind2 = double.Parse(sind2); List.Add(new Recjun(rec.Pedido, rec.Serie, rec.Filial, rec.Terminal, rec.Produto, rec.Calculo, rec.Quantidade, rec.Quebra, rec.Ind1, rec.Tipo, rec.Data, rec.Hora, rec.Nulo, rec.Ope1, rec.Ope2, rec.Ind2)); } foreach (Recjun obj in List) { Console.WriteLine(obj); } } } } O arquivo que ele lê é esse: 588382;01038306;003;09;1315;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000017 588382;01038308;003;09;1315;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000017 588382;01185286;003;09;1315;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000001 588382;01182466;003;09;1316;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000007 588382;01182478;003;09;1316;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000007 588382;01182479;003;09;1316;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000007 588382;01184506;003;09;1317;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000013 588382;01184510;003;09;1317;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000013 588382;01184517;003;09;1317;2309;0001,000;000,166;020;CX;190925;0914; ;E;E;000013 E o resultado que ele retorna na tela é esse: 588382, 1315, 1, CX. 588382, 1315, 1, CX. 588382, 1315, 1, CX. 588382, 1316, 1, CX. 588382, 1316, 1, CX. 588382, 1316, 1, CX. 588382, 1317, 1, CX. 588382, 1317, 1, CX. 588382, 1317, 1, CX Como posso fazer para que o resultado exibido seja como o a seguir ? 588382, 1315, 3, CX. 588382, 1316, 3, CX. 588382, 1317, 3, CX. Agradeço desde já a ajuda de todos.
  5. Boa tarde, Estou desenvolvendo um aplicativo simples para me ajudar em uma rotina. Tenho um arquivo de texto com números de pedido, quantidade e etc. E quero que meu programa leia ele e some para mim os produtos que forem iguais. Exemplo do arquivo de texto: Pedido,Serie,Filial,Terminal,Produto,Calculo,Quantidade,Quebra,Caixa,Tipo,Data,Hora,Nulo,Estorno,Devolução,Diferencial. 588602;01200633;001;09;0934;1995;0001,000;000,000;020;CX;191004;1029; ;E;D;000003 588602;01200634;001;09;0934;1995;0001,000;000,000;020;CX;191004;1029; ;E;D;000003 588602;01200635;001;09;0934;1995;0001,000;000,000;020;CX;191004;1029; ;E;D;000003 588602;01199859;001;09;0916;1995;0001,000;000,438;008;CX;191004;1029; ;E;D;000003 588602;01199863;001;09;0916;1995;0001,000;000,438;008;CX;191004;1029; ;E;D;000003 588602;01199860;001;09;0916;1995;0001,000;000,438;008;CX;191004;1029; ;E;D;000003 588602;01199861;001;09;0916;1995;0001,000;000,438;008;CX;191004;1029; ;E;D;000003 588602;01199862;001;09;0916;1995;0001,000;000,438;008;CX;191004;1029; ;E;D;000003 Programei da seguinte maneira: Criei uma Classe Produtos com esses atributos: namespace Interpretador { class Produtos { public int pedido, serie, terminal, filial, produtos, calc, caixa, data, hora, diferencial; public double quantidade, quebra; public string estorno, devolucao, nulo, tipo; } } E no programa fiz assim: namespace Interpretador { class Program { static void Main(string[] args) { StreamReader LerLista = new StreamReader("C:\\RECJUN.txt"); Produtos p = new Produtos(); string ProdutosLidos = LerLista.ReadLine(); while (true) { if (ProdutosLidos != null) { string[] Lidos = ProdutosLidos.Split(';'); p.pedido = int.Parse(Lidos[0]); p.serie = int.Parse(Lidos[1]); p.filial = int.Parse(Lidos[2]); p.terminal = int.Parse(Lidos[3]); p.produtos = int.Parse(Lidos[4]); p.calc = int.Parse(Lidos[5]); p.quantidade = double.Parse(Lidos[6]); p.quebra = double.Parse(Lidos[7]); p.caixa = int.Parse(Lidos[8]); p.tipo = (string) Lidos[9]; p.data = int.Parse(Lidos[10]); p.hora = int.Parse(Lidos[11]); p.nulo = Lidos[12]; p.estorno = Lidos[13]; p.devolucao = Lidos[14]; p.diferencial = int.Parse(Lidos[15]); Console.WriteLine(p.produtos); Console.WriteLine(p.quantidade); } } } } } Desse jeito o programa lê direitinho as informações, mas o que eu quero fazer é que quando um produto estiver repetido o programa some ele e me mostre a soma desse produto, mas realmente cheguei a um impasse, não sei como progredir. Se alguém puder ajudar ficarei muito grato.
  6. @Gabriel Grechuk Muito obrigado pela ajuda ! Realmente ajudou e me ensinou muito. Obrigado.
  7. Boa tarde, Sou novato em programação e escolhi começar a aprender com a linguagem C. Já fiz alguns programas básicos ensinados nos cursos que peguei, mas ao tentar fazer um programa diferente com uma estrutura mais complexa tive um problema. Código: #include <stdio.h> #include <stdlib.h> main() { float v_altura,v_peso,v_imc; v_imc = (v_altura*v_altura)/v_peso; printf("\n\nEste e um programa para medir seu IMC, vamos la ?\n\n"); printf("Primeiro insira a sua altura EX: 1.80.\n\n"); scanf("%f",&v_altura); printf("\n\nOtimo, agora insira seu peso EX: 78,6.\n\n"); scanf("%f",&v_peso); printf("\n\nCalculando..\n\n"); printf("Prontinho, seu IMC e de: %.2f\n\n\n",(v_peso/(v_altura*v_altura))); printf("Tabela IMC:\n\nAbaixo de 17 \tMuito abaixo do peso\nEntre 17 e 18,49 \tAbaixo do peso\nEntre 18,5 e 24,99 \tPeso normal\nEntre 25 e 29,99 \tAcima do peso\nEntre 30 e 34,99 \tObesidade I\nEntre 35 e 39,99 \tObesidade II (severa)\nAcima de 40 \tObesidade III (morbida)\n\n\n"); if (v_imc < 17) printf("\n\nVoce esta muito abaixo do peso, contate um profissional de nutricao.\n\n"); else if ((v_imc > 17 ) || (v_imc < 18.49)) printf("\n\nVoce esta abaixo do peso ideal, contate um profissional de nutricao.\n\n"); else if ((v_imc > 18.5) || (v_imc < 24.99)) printf("\n\nVoce esta no peso normal para sua altura.\n\n"); else if ((v_imc > 25) || (v_imc < 29.99)) printf("\n\nVoce esta acima do peso, contate um profissional de nutricao.\n\n"); else printf("\n\nVoce esta muito acima do peso, contate um profissional de nutricao.\n\n"); system("pause"); } A ideia é que o programa pegue a informação da variável v_imc e com base em seu valor classifique a pessoa. Mas de qualquer modo ele sempre aparece como o último else. Vocês podem me dizer onde estou errando ?

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