Ir ao conteúdo
  • Cadastre-se
ronaldo201597

C# Exercício em c# usando for, while e if else

Posts recomendados

Bom dia, eu gostaria de uma ajuda em um exercício  que o professou passou na faculdade. Já tentei fazer de várias maneiras, mas  eu não consigo encaixar essa linha no programa " O numero que encerrará a leitura será zero". 

 

Exercício:

Escreva uma função que leia uma sequência de 50 valores reais, calcule e imprima a média aritmética dos valores lidos, a quantidade de valores positivos, a quantidade de valores negativos e o percentual de valores negativos e positivos. Mostre os resultados. O número que encerrará a leitura será zero. A função deve retornar a quantidade de números lidos. Chame a função no método principal (Main) e imprima o retorno.

 

Eu tentei fazer desse jeito, só que eu tive que usar a função break, gostaria de saber se tem um outro jeito de fazer usando só as estruturas de repetição básicas, for, while e if else. ( creio eu que esteja errado da forma que eu fiz)

for (i = 1; i < 6; i++)
            {
                Console.Write("Digite um numero: ");
                num = Convert.ToInt32(Console.ReadLine());
                if (num != 0)
                {
                    if (num > 0)
                    {
                        quant_positivo++;
                    }
                    else if (num < 0)
                    {
                        quant_negativo++;
                    }
                    soma_geral = soma_geral + num;
                    cont++;
                }
                else{
                    break;
                }
            }
            Console.WriteLine("Media: {0}", (soma_geral / cont));
            Console.WriteLine("Quantidade numeros positivos: {0}", quant_positivo);
            Console.WriteLine("Quantidade numeros negativos: {0}", quant_negativo);
            Console.WriteLine("Porcentagem negativos: {0}%", (quant_negativo / cont) * 100);
            Console.WriteLine("Porcentagem positivos: {0}%", (quant_positivo / cont) * 100);
			return cont;
        }
    }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode tentar substituir o laço for por while, onde a condição do laço, seja de que o número lido seja diferente de zero, removendo a necessidade do break.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por  ajudar @Gabferreira , só que eu tentei fazer com while e o problema ainda persiste. Não consigo pensar em outras maneiras... sou iniciante na área de programação, estou apanhando pra esse exercício !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu usuaria break também, mas caso não queira, uma alternativa:

         do {
                
                Console.Write("Digite um numero: ");
                num = Convert.ToInt32(Console.ReadLine());
                if (num != 0)
                {
                    if (num > 0)
                    {
                        quant_positivo++;
                    }
                    else if (num < 0)
                    {
                        quant_negativo++;
                    }
                    soma_geral = soma_geral + num;
                    cont++;
                        
                }
                
            }
            while ((num != 0) && (cont < 5));

            Console.WriteLine("Media: {0}", (soma_geral / cont));
            Console.WriteLine("Quantidade numeros positivos: {0}", quant_positivo);
            Console.WriteLine("Quantidade numeros negativos: {0}", quant_negativo);
            Console.WriteLine("Porcentagem negativos: {0}%", (quant_negativo / cont) * 100);
            Console.WriteLine("Porcentagem positivos: {0}%", (quant_positivo / cont) * 100);
			return cont;
        }
    }
}

 

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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!