Софтуерно Инженерство
Loading...
+ Нов въпрос
svilen664 avatar svilen664 12 Точки
Best Answer

Здравей, колега,

Интересен подход, аз я реших по различен начин. Грешката е в първата условна конструкция "if":

            if (income < minimalSalary && average > 4.5)
            {
                socialScholarship = minimalSalary * 0.35;
            }
            else if (average >= 5.5)   (Тук трябва да е само "if", защото ако остане "else if" пропускаш случаите, в които дохода е по-малък от минималната заплата, оценката е над 5.5 и имаш право на стипендия за отличен успех, която може да е по-голяма от стипендията за доход. (А при True в "if-а" "else if-a" изобщо не разглежда този случай, а спира до там). Ако пробваш с вход: доход = 200, оценка: 5.90, заплата: 210 ще ощетиш човека със социална стипендия за 73 лв, вместо по-високата за отличен успех.)
            {
                excellenceScholarship = average * 25;
            }

 

Коригирания код: https://pastebin.com/K6Md9f7n

 

0
16/09/2019 11:33:20
Soulfood avatar Soulfood 1 Точки

Супер си!

Благодаря за отделеното време.

Btw ... тази сутрин на свежа глава веднага изгря къде ми е пропускът. В последствие виждам, че си отговорил и ти. Изводът е - след 53276487264872 задачи ... трябва почивка ;)

Сполай ти!

Поздрави 

0
EvgeniJD avatar EvgeniJD 3 Точки

Здравей!

Новак съм, но според мен е доста усложнена. Ето го моето решение:

 

 

using System;

namespace Scholarship
{
    class Program
    {
        static void Main(string[] args)
        {
            double profit = double.Parse(Console.ReadLine());
            double averageRate = double.Parse(Console.ReadLine());
            double minimalSalary = double.Parse(Console.ReadLine());

            double socialScholarship = Math.Floor(minimalSalary * 0.35);
            double hiRateScholarship = Math.Floor(averageRate * 25);

            if (profit < minimalSalary && averageRate > 4.5 && averageRate < 5.5)
            {
                Console.WriteLine($"You get a Social scholarship {socialScholarship} BGN");
            }
            else if (averageRate >= 5.5 && profit < minimalSalary && hiRateScholarship < socialScholarship)
            {
                Console.WriteLine($"You get a Social scholarship {socialScholarship} BGN");
            }
            else if (averageRate >= 5.5)
            {
                Console.WriteLine($"You get a scholarship for excellent results {hiRateScholarship} BGN");
            }
            else
            {
                Console.WriteLine("You cannot get a scholarship!");
            }

        }
    }
}
 

0