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

08. Scholarship (Стипендий) задача от Упражнението за проверки.

Условие на задачата:

https://softuni.bg/trainings/resources/officedocument/44530/exercise-problem-descriptions-programming-basics-with-c-sharp-november-2019/2587

Задачата ми дава 87/ 100 при първоначалното ми решение, като дава грешка при два входа от judge-a. След доста блъскане успях да намеря къде е грешката и да я фиксна, но продължавам да не мога да установя какви са входовете на judje-a при които се появява           ( установих, че  входовете които дават грешка не влизат в първия  if и програмата ми не изкарва резултат). Ако може някой да ми обясни каква е грешката в първоначалния ми код.( if (income >= minSalary && averageMark < 5.5))

кодът ми:

using System;

namespace Scholarship_
{
    class Program
    {
        static void Main(string[] args)
        {
            double income = double.Parse(Console.ReadLine());
            double averageMark = double.Parse(Console.ReadLine());
            double minSalary = double.Parse(Console.ReadLine());

            double socialScholarship = Math.Floor(minSalary * 0.35);
            double marksScholarship = Math.Floor(averageMark * 25);

            if (income >= minSalary && averageMark < 5.5)                 // delete this "if" and put it in the end with "else" for fix                                   
            {
                Console.WriteLine("You cannot get a scholarship!");
            }
            else if (income < minSalary && averageMark >= 4.5 && averageMark < 5.5)
            {
                Console.WriteLine($"You get a Social scholarship {socialScholarship} BGN");
            }
            else if (income < minSalary && averageMark >= 5.5)
            {
                if (socialScholarship <= marksScholarship)
                {
                    Console.WriteLine($"You get a scholarship for excellent results {marksScholarship} BGN");
                }
                else
                {
                    Console.WriteLine($"You get a Social scholarship {socialScholarship} BGN");
                }
            }
            else if (averageMark >= 5.5)
            {
                Console.WriteLine($"You get a scholarship for excellent results {marksScholarship} BGN");
            }
            //else
            //{
            //    Console.WriteLine("You cannot get a scholarship!");  / this is the fix
            //}
        }
    }
}

 

Тагове:
0
Programming Basics with C#
kkaraivanov avatar kkaraivanov 387 Точки
if (income <= minSalary && averageMark > 4.5 && averageMark < 5.5)

 

0
headcrack avatar headcrack 0 Точки

това което ти си отговорил дава 31/100 ? или аз бъркам пак някъде( сменяш на първия ред от " >=" на" <=")?

0
kkaraivanov avatar kkaraivanov 387 Точки

Въпросът ти беше защо не влиза ва първата проверка и ти отговорих. Ето малко променен кодът ти, мисля че ще ти върне желания резултат.

using System;

namespace Scholarship
{
    class Program
    {
        static void Main(string[] args)
        {
            double income = double.Parse(Console.ReadLine());
            double averageMark = double.Parse(Console.ReadLine());
            double minSalary = double.Parse(Console.ReadLine());

            double cialScholarship = Math.Floor(minSalary * 0.35);
            double marksScholarship = Math.Ceiling(averageMark * 25);
            double printEscelentScholership = 0;

            if (cialScholarship > marksScholarship)
            {
                printEscelentScholership = cialScholarship;
            }
            else
            {
                printEscelentScholership = marksScholarship;
            }

            if (income <= minSalary && averageMark > 4.5 && averageMark < 5.5)
            {
                Console.WriteLine($"You get a Social scholarship {cialScholarship} BGN");
            }
            else if (income <= minSalary && averageMark >= 5.5)
            {
                Console.WriteLine($"You get a scholarship for excellent results {printEscelentScholership} BGN");
            }
            else if (income > minSalary && averageMark >= 5.5)
            {
                Console.WriteLine($"You get a scholarship for excellent results {marksScholarship} BGN");
            }
            else
            {
                Console.WriteLine("You cannot get a scholarship!");
            }
        }
    }
}

 

0