Професионална програма
Loading...
+ Нов въпрос
stefism1 avatar stefism1 27 Точки

Conditional Statements - Exercise - 09. Scholarship

Привет!
Понеже жъжа не ми каза къде ми е грешката в тази задача, а ми дава 65% от 100, може ли някой да каже къде е ключа от бараката?
Двата примера дето са дадени условието за вход и изход ми излизат ОК и затова немога да вдена къде бъркам?

Принципно в некъв бесен код се вкарах :D Ифове в ифове и некви неща, но двата примера поне работят :D
Сигурно има супер просто решение ама ....

using System;

namespace Scholarship_Stipendia_
{
    class Program
    {
        static void Main(string[] args)
        {
            double profitLeva = double.Parse(Console.ReadLine());
            double averageSuccess = double.Parse(Console.ReadLine());
            double minSalary = double.Parse(Console.ReadLine());

            double socialScholarship = minSalary * 0.35;
            double greatSuccessScholarship = averageSuccess * 25;

            //if (profitLeva > minSalary)
            //{
            //    Console.WriteLine("You cannot get a scholarship!");
            //}

            if (profitLeva < minSalary && averageSuccess > 4.5)
            {
                if (socialScholarship > greatSuccessScholarship)
                {
                    Console.WriteLine($"You get a Social scholarship {Math.Abs(Math.Floor(socialScholarship))} BGN");
                }
            }
            else
                Console.WriteLine("You cannot get a scholarship!");

            if (averageSuccess > 5.5)
            {
                if (greatSuccessScholarship >= socialScholarship)
                {
                    Console.WriteLine($"You get a scholarship for excellent results {Math.Abs(Math.Floor(greatSuccessScholarship))} BGN");
                }
            }
            
        }
    }
}

 

0
Programming Basics
Maver avatar Maver 5 Точки

Мисля, че трябва да добавиш равно (=) при 5.5 (if statement-а). Това на първо четене. Прилагам и моя код (само,  че е на Java), но мисля, че ще се ориентираш.

https://pastebin.com/LeJCpzrD

0
stefism1 avatar stefism1 27 Точки

За жъжаление това не е верният отговор :D
Пак дава 75 от 100.
Принципно ми дадоха верен код, но аз искам да разбера в моя къде бъркам! Щото другия код е написан по различен начин и пак върши същото, но от него немога да разбера при мен къде е проблема.

0
25/01/2019 13:22:06
Maver avatar Maver 5 Точки

Здравей,

   Не знам в C# наклонените черти само коментар ли са "//" или си е функционална проверка. Според мен при оценка 5.5 и по нисък доход от минималната работна заплата влизаш в първият if -  (profitLeva < minSalary && averageSuccess > 4.5)  и ако  условието не е изпълнено (socialScholarship > greatSuccessScholarship ), ще ти даде че няма право на стипендия а при оценка 5.5. 

0
25/01/2019 14:22:35
e.manolov avatar e.manolov 80 Точки

Не си се вкарал в бесни ифове, просто не си обхванал всички случаи. Ще ти дам пример : Ако profitLeva > minSalary и  && averageSuccess = 5 къде ще влезе твоя код?

0
Evuns avatar Evuns 34 Точки

Здравей, малко ти е объркан кода. Имаш следните случаи:

profitLeva < minSalary && averageSuccess >=5.50 -  в този случай трябва да провериш коя от двете стипендии е по- голяма.

profitLeva < minSalary && averageSuccess > 4.5

averageSuccess >= 5.50

Във всички тези случаи ще взимат стипендия. В останалите- не. В условието за успех с 5,50 имаш по- голямо или равно. В момент взимаш само тези с повече от 5,50. Успех!

0