Ir ao conteúdo
  • Cadastre-se

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

 

Link para o comentário
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;
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...