3
respostas

C# que some todos os números de 1 a 100

Eu vejo muito a utilização do return e eu tinha pensado numa solução diferente para esse problema, mas não sei se é possível, porque deu um erro:

 int n = 0;
            for (int i = 0; i < 100; i++)
            {
                if (n % 3 == 0)
                {
                    return false; // isso existe?
                } else{

        }
            }
3 respostas

você pode retornar falso, desde que a assinatura do método indique um tipo de retorno booleano.

Como o Alberto disse a palavra return é utilizada quando se cria um método (função). Ela não deve ser usada em eventos (ex.: Evento Clique do botão). O uso correto do return seria

private bool eMultiploDe3(int x)
        {
            if ((x % 3) == 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

Para solucionar o problema da soma dos números poderíamos usar o código da seguinte forma

//A chamada do metodo [private bool] retorna bool (Booleano)
        private bool eMultiploDe3(int x)
        {
            if ((x % 3) == 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            int soma = 0;
            for (int n = 1; n <= 100; n++)
            {
                if (! eMultiploDe3(n))
                {
                    //se não for Multiplo de 3 (veja que tem a negativa ! apos o if), soma os numeros
                    soma += n;
                }

            }

            MessageBox.Show("A soma é " + soma);
        }

Boa tarde, primeiramente, tudo o que já foi mencionado nos postes anteriores está correto, porem uma coisa que reparei em seu código:

int n = 0;
for (int i = 0; i < 100; i++)
{
    if (n % 3 == 0)
    {
        return false;
    } 
    else{
        return true;
    }
}

Você inicializou a variável: n com o valor zero, e esta tentando pegar o resto da sua divisão, sendo que não existe divisão por numero zero e em nenhum momento o "n " esta sendo alterado, provavelmente esta retornando um Exception para você.