Usuário com melhor resposta
Ajuda com função SE em planilha de notas

Pergunta
-
Olá, já procurei em todo lugar mas não achei nada que resolvesse o critério (maluco) que preciso criar na minha planilha de notas de alunos. Preciso criar uma condição para transformar notas como 1,1 - 1,2 - 1,3 -1,4 e 1,5 em 1,5 e 1,6 - 1,7 -1,8 e 1,9 em 2,0 e quando a media for inteira, que seja mantida, exemplo: 2,0 = 2,0 7,0= 7,0. Se alguém puder me ajudar, agradeço de coração, não aguento mais ficar com calculadora para manipular medias de 1000 alunos todo ano!!!
- Movido Felipo GonçalvesModerator quarta-feira, 20 de março de 2013 11:52
Respostas
-
Vinícius,
Quase perfeito, mas tem dois problemas.
1ª - O Math.Ceiling vai arredondar mais do que ela precisa, pois ele sempre vai arredondar para o próximo número inteiro.
2ª - Não vai funfar porque do jeito que ela precisa, a variável num vai receber valores incompatíveis com a variável Result.
*Eu sei que você já informou isso, só estou repetindo pra dar enfase na minha resposta.*
Tente fazer algo desse tipo.
double numero; double Resultado; double Verificar = Num % 2; if ( Verificar != 0 ) { Result = Math.Round(numero, 1, MidpointRounding.AwayFromZero); //O "1" é o numero de casas decimais depois do zero. } else { Result = Numero; }
Espero ter ajudado.
Grande Abraço!!!
- Sugerido como Resposta Vinícius Rafael Tavares quarta-feira, 20 de março de 2013 12:12
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 22 de março de 2013 19:01
-
Vinícius,
Quase perfeito, mas tem dois problemas.
1ª - O Math.Ceiling vai arredondar mais do que ela precisa, pois ele sempre vai arredondar para o próximo número inteiro.
2ª - Não vai funfar porque do jeito que ela precisa, a variável num vai receber valores incompatíveis com a variável Result.
Realmente... Eu fiz uma confusão com essa parte:
"1,1 - 1,2 - 1,3 -1,4 e 1,5 em 1,5 e 1,6 - 1,7 -1,8 e 1,9 em 2,0"
Não vi o "em 1,5", entendi como se ele quisesse que mesmo o 1,1 fosse arredondado para 2,0, daí o Ceiling caria bem hehehehe
Abraço
Resolveu o problema? Então marque como resposta, por favor.
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 22 de março de 2013 19:01
Todas as Respostas
-
int Result ; // Vamos definir um inteiro, pois você sempre estará arredondando a média.
double Num = Convert.ToDouble(Console.ReadLine()); double Verificar = Num - (int)Num; if ( Verificar != 0 ) // Aqui verificamos se é um númemero quebrado, se for ele será arredondado para cima. { Result = (int)Math.Ceiling( Num ) ; // Atenção que o Ceiling sempre arredondará para o próximo número. Ex: 8,2 = 9. } else // Se não for quebrado, result recebe o valor de Num.
{ Result = Num;
}
PS: O tópico está no local errado ^^
Abraço.
Resolveu o problema? Então marque como resposta, por favor.
- Editado Vinícius Rafael Tavares terça-feira, 5 de março de 2013 13:44
-
Vinícius,
Quase perfeito, mas tem dois problemas.
1ª - O Math.Ceiling vai arredondar mais do que ela precisa, pois ele sempre vai arredondar para o próximo número inteiro.
2ª - Não vai funfar porque do jeito que ela precisa, a variável num vai receber valores incompatíveis com a variável Result.
*Eu sei que você já informou isso, só estou repetindo pra dar enfase na minha resposta.*
Tente fazer algo desse tipo.
double numero; double Resultado; double Verificar = Num % 2; if ( Verificar != 0 ) { Result = Math.Round(numero, 1, MidpointRounding.AwayFromZero); //O "1" é o numero de casas decimais depois do zero. } else { Result = Numero; }
Espero ter ajudado.
Grande Abraço!!!
- Sugerido como Resposta Vinícius Rafael Tavares quarta-feira, 20 de março de 2013 12:12
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 22 de março de 2013 19:01
-
Vinícius,
Quase perfeito, mas tem dois problemas.
1ª - O Math.Ceiling vai arredondar mais do que ela precisa, pois ele sempre vai arredondar para o próximo número inteiro.
2ª - Não vai funfar porque do jeito que ela precisa, a variável num vai receber valores incompatíveis com a variável Result.
Realmente... Eu fiz uma confusão com essa parte:
"1,1 - 1,2 - 1,3 -1,4 e 1,5 em 1,5 e 1,6 - 1,7 -1,8 e 1,9 em 2,0"
Não vi o "em 1,5", entendi como se ele quisesse que mesmo o 1,1 fosse arredondado para 2,0, daí o Ceiling caria bem hehehehe
Abraço
Resolveu o problema? Então marque como resposta, por favor.
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 22 de março de 2013 19:01