Софтуерно Инженерство
Loading...
Angmar avatar Angmar 0 Точки

08. Scholarship / Стипендия

Това е кода за, който Judge ми дава 93 от 100 точки и има само една грешка. При такъв резултат съм в цайтнот и няма как да разбера къде е грешката. Моля за помощ ако някой може да разбере от къде идва този проблем. Още не мога да схвана логиката на Judge ама това е защото съм бос с кодовете още :(

using System;

namespace SoftUni
{
    class Program
    {
        static void Main()
        {
            double salary = double.Parse(Console.ReadLine());
            double score = double.Parse(Console.ReadLine());
            double minSal = double.Parse(Console.ReadLine());
            //variable input

            double scolarship = 0.00;
            double scolarshipEx = 0.00;
            //scolarship variables definition

            if (salary < minSal && score > 4.50)
            {
                scolarship = Math.Floor(minSal * 0.35);
            }
            else if (score >= 5.50)
            {
                scolarshipEx = Math.Floor(score * 25);
            }
            //scolarship calculation

            if (salary >= minSal && score < 5.50)
            {
                Console.WriteLine("You cannot get a scholarship!");
            }

            else if (salary < minSal && score <= 4.50)
            {
                Console.WriteLine("You cannot get a scholarship!");
            }   
            else
            {
                if (scolarship >= scolarshipEx)
                {
                    Console.WriteLine($"You get a Social scholarship {scolarship} BGN");
                }
                else 
                {
                    Console.WriteLine($"You get a scholarship for excellent results {scolarshipEx} BGN");
                }
            }

        }
    }
}
 

Тагове:
0
Programming Basics with C#
OgnyanPetranov avatar OgnyanPetranov 11 Точки

Здравей,

1. По-добре ще е да именоваш по-конкретно променливите. Да използваш съкращения не е добра практика, защото прави кода по-трудно четим.

2. Можеш да смяташ директно и двете стипендии след прочитането на входа от конзолата и да избегнеш проверката в началото. Така или иначе в изхода подаваш нужната стипендия.

3. Имаш нужда от първа проверка дали оценката ти е >=5.50, ако е сравняваш с вложена if проверка коя стипендия е по-голяма, за да отпечаташ правилната по условие.

След това имаш проверка какво се случва ако оценката е над 4.50 и приходите са под минималната заплата.

Накрая всичко останало не получава стипендия.

Малко си се оплел в проверки и явно някой граничен случай ти гърми. :-)

Поздрави

0