Simple Conditional Statements, задача 6 - Bonus Score
Колеги, имам въпрос относно задача 6 от Simple Conditional Statements, идеята е
Дадено е цяло число – брой точки. Върху него се начисляват бонус точки по правилата, описани по-долу. Да се напише програма, която пресмята бонус точките за това число и общия брой точки с бонусите.
- Ако числото е до 100 включително, бонус точките са 5.
- Ако числото е по-голямо от 100, бонус точките са 20% от числото.
- Ако числото е по-голямо от 1000, бонус точките са 10% от числото.
- Допълнителни бонус точки (начисляват се отделно от предходните):
- За четно число à + 1 т.
- За число, което завършва на 5 à + 2 т.
Пробвах с този код, но ми дава 70/100, някой може ли да ми обясни защо така и къде греша? -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Bonus_Points
{
class Program
{
static void Main(string[] args)
{
double points = double.Parse(Console.ReadLine());
int even = 1;
int odd = 2;
if (points <= 100)
if (points % 2 == 0)
{
Console.WriteLine("Bonus score: {0}", 5 + even);
Console.WriteLine("Total score: {0}", points + 5 + even);
}
else
{
Console.WriteLine("Bonus score: {0}", 5 + odd);
Console.WriteLine("Total score: {0}", points + 5 + odd);
}
if (points > 100 && points<=999)
if (points % 2 == 0)
{
Console.WriteLine("Bonus score: {0}", (points * 0.2) + even);
Console.WriteLine("Total score: {0}", points + (points * 0.2) + even);
}
else
{
Console.WriteLine("Bonus score: {0}", (points * 0.2) + odd);
Console.WriteLine("Total score: {0}", points + (points * 0.2) + odd);
}
else if (points > 1000)
if (points % 2 == 0)
{
Console.WriteLine("Bonus score: {0}", (points * 0.1) + even);
Console.WriteLine("Total score: {0}", points + (points * 0.1) + even);
}
else
{
Console.WriteLine("Bonus score: {0}", (points * 0.1) + odd);
Console.WriteLine("Total score: {0}", points + (points * 0.1) + odd);
}
}
}
}