none
problemas com Loop infinito [RESOLVIDO] RRS feed

  • Pergunta

  • Fala galera, estou exercitando um pouco o loop While, porém estou tendo um problema, segue meu código abaixo, quem puder me ajudar... o codigo seria para o usuario informar quantas contas tem e ai mostrar qual a conta com maior valor. 

    namespace MaiorConta
    {
        class Programa
        {
            static void Main()
            {
                int cont = 1;
                decimal MaiorValor = 0m;
                string maiorconta = "";

                Console.WriteLine("CONTAS DO MÊS");
                Console.WriteLine("Quantas contas você tem? ");
                int Contas = Int32.Parse(Console.ReadLine());
               
                
                while (cont <= Contas)
                {
                    Console.WriteLine("Digite o tipo de conta:");
                    string NomeConta = "";
                    NomeConta = Console.ReadLine();
                    Console.WriteLine("Digite o valor da conta: ");
                    decimal conta = Int32.Parse(Console.ReadLine());
                    if (conta > MaiorValor)
                    {
                        MaiorValor = conta;
                        maiorconta = NomeConta;
                       
                    }
                    cont = cont++;
                    
                }
                Console.WriteLine("A conta de:" + maiorconta + " tem valor de R$" + MaiorValor);
                Console.Read();
            }
        }
    }


    • Editado AleMalcar sexta-feira, 27 de outubro de 2017 16:32
    quinta-feira, 26 de outubro de 2017 01:48

Respostas

  • Saudações..

    onde você colocou

     count = cont++;

    mude para

     cont++;
    Atenciosamente,
    ____________________________________
    Agnaldo Guimarães

    Se tiver sido útil, lembre-se de Marcar Como Resposta.
    Quando você sinaliza como resposta os outros visitantes encontram a solução facilmente.

    ** Para que o mau prevaleça basta que os bons não façam nada....


    • Editado Agnaldo Guimarães quinta-feira, 26 de outubro de 2017 06:09
    • Marcado como Resposta AleMalcar sexta-feira, 27 de outubro de 2017 16:30
    quinta-feira, 26 de outubro de 2017 05:56

Todas as Respostas

  • Saudações..

    onde você colocou

     count = cont++;

    mude para

     cont++;
    Atenciosamente,
    ____________________________________
    Agnaldo Guimarães

    Se tiver sido útil, lembre-se de Marcar Como Resposta.
    Quando você sinaliza como resposta os outros visitantes encontram a solução facilmente.

    ** Para que o mau prevaleça basta que os bons não façam nada....


    • Editado Agnaldo Guimarães quinta-feira, 26 de outubro de 2017 06:09
    • Marcado como Resposta AleMalcar sexta-feira, 27 de outubro de 2017 16:30
    quinta-feira, 26 de outubro de 2017 05:56
  • Eu mudei, mas continua entrando em Looping infinito 
    quinta-feira, 26 de outubro de 2017 13:20
  • Como ficou o código depois da mudança que o Agnaldo sugeriu?

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 26 de outubro de 2017 13:52
  • Poste o novo código, eu fiz testes e está funcionando como pretendido.
    Se coloco 3 contas ele faz três perguntas, faz o cálculo e mostra  o maior valor na tela.

    Dica: no código se houverem contas com valores iguais ele mostrará a primeira conta informada desprezando as demais de mesmo valor.

    ______________________________________
    Agnaldo Guimarães

    Se tiver sido útil, lembre-se de Marcar Como Resposta.
    Quando você sinaliza como resposta os outros visitantes encontram a solução facilmente.

    ** Para que o mau prevaleça basta que os bons não façam nada....


    quinta-feira, 26 de outubro de 2017 16:14
  • Apenas mudei o cont++;  como ele disse, porem ele continua entrando em looping infinito, quando eu colocasse "3" contas, ele deveria apenas me pedir para inserir 3 contas, porem continua pedindo e pedindo para que adicione as contas. 

    namespace MaiorConta
    {
        class Programa
        {
            static void Main()
            {
                int cont = 1;
                decimal MaiorValor = 0m;
                string maiorconta = "";

                Console.WriteLine("CONTAS DO MÊS");
                Console.WriteLine("Quantas contas você tem? ");
                int Contas = Int32.Parse(Console.ReadLine());
               
                
                while (cont <= Contas)
                {
                    Console.WriteLine("Digite o tipo de conta:");
                    string NomeConta = "";
                    NomeConta = Console.ReadLine();
                    Console.WriteLine("Digite o valor da conta: ");
                    decimal conta = Int32.Parse(Console.ReadLine());
                    if (conta > MaiorValor)
                    {
                        MaiorValor = conta;
                        maiorconta = NomeConta;
                       
                    }
                    cont++;
                    // mudança feita aqui 
                }
                Console.WriteLine("A conta de:" + maiorconta + " tem valor de R$" + MaiorValor);
                Console.Read();
            }
        }
    }

    • Marcado como Resposta AleMalcar sexta-feira, 27 de outubro de 2017 16:30
    • Não Marcado como Resposta AleMalcar sexta-feira, 27 de outubro de 2017 16:30
    quinta-feira, 26 de outubro de 2017 18:54
  • Saudações..

    Copiei seu código acima com a modificação que eu havia sugerido e testei.
    Informei 3 contas e rodou apenas 3 vezes.
    Veja funcionando no .NET Fiddle. clique aqui.

    ______________________________________
    Agnaldo Guimarães

    Se tiver sido útil, lembre-se de Marcar Como Resposta.
    Quando você sinaliza como resposta os outros visitantes encontram a solução facilmente.

    ** Para que o mau prevaleça basta que os bons não façam nada....



    quinta-feira, 26 de outubro de 2017 20:55
  • Você está fazendo o Rebuild do projeto? Talvez não esteja gerando uma nova versão e assim vê sempre o mesmo resultado antigo.

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 26 de outubro de 2017 23:27
  • depois do if, inclua um else { continue;}
    sexta-feira, 27 de outubro de 2017 02:39
  • Fiz o rebuild e deu certo, obrigado galera!! 
    sexta-feira, 27 de outubro de 2017 16:30