Loading...
iwrys avatar iwrys 0 Точки

Scholarship задача.

Ако може някой да помогне , да каже къде съм объркал , че в judge  ми дава 75 / 100  и не мога да разбера защо.

using System;


namespace zadacha7
{
    class Program
    {
        static void Main()
        {
            double income = double.Parse(Console.ReadLine());
            double averageGrades = double.Parse(Console.ReadLine());
            double minSalary = double.Parse(Console.ReadLine());


            double socialScholarship = minSalary * 0.35;
            double excellentScholarship = averageGrades * 25;


            if (income > minSalary && averageGrades < 5.50)
            {
                Console.WriteLine("You cannot get a scholarship!");
            }

            if (income < minSalary && averageGrades > 4.50)
            {
                Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarship)} BGN");
            }

            else if (income > minSalary && averageGrades >= 5.50)
            {
                Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(excellentScholarship)} BGN");
            }

            else if (income < minSalary && averageGrades >= 5.50)
            {
                if (socialScholarship > excellentScholarship)
                {
                    Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarship)} BGN");
                }
                else if (excellentScholarship >= socialScholarship)
                {
                    Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(excellentScholarship)} BGN");
                }
            }


        }
    }
}

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

Здравей!

Условията ти не са както трябва.

 

using System;

namespace _07.Scholarship
{
    class Scholarship
    {
        static void Main()
        {
            decimal earnings = decimal.Parse(Console.ReadLine());
            decimal averageSuccess = decimal.Parse(Console.ReadLine());
            decimal minWorkSalary = decimal.Parse(Console.ReadLine());
            decimal scholarshipForResults = 0;
            decimal scholarshipForSocial = 0;

            if (averageSuccess > 4.5m)
            {
                scholarshipForSocial = minWorkSalary * 0.35m;

                if (averageSuccess >= 5.5m)
                {
                    scholarshipForResults = averageSuccess * 25;
                }
                
                if ((scholarshipForSocial >= scholarshipForResults) && earnings <= minWorkSalary)
                {
                    Console.WriteLine($"You get a Social scholarship {Math.Floor(scholarshipForSocial)} BGN");
                }
                else if(scholarshipForResults > 0)
                {
                    Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(scholarshipForResults)} BGN");
                }
                else
                {
                    Console.WriteLine("You cannot get a scholarship!");
                }
            }
            else
            {
                Console.WriteLine("You cannot get a scholarship!");
            }
        }
    }
}
 

0
iwrys avatar iwrys 0 Точки

Благодаря! Ето вариант с булеви променливи, който  , лично на мен , ми се стори по-лесен.

 

using System;


namespace zadacha7
{
    class Program
    {
        static void Main()
        {
            double income = double.Parse(Console.ReadLine());
            double averageGrades = double.Parse(Console.ReadLine());
            double minSalary = double.Parse(Console.ReadLine());


            double socialScholarship = minSalary * 0.35;
            double excellentScholarship = averageGrades * 25;

            bool isSocialScholarshipActive = false;
            bool isExcelentScholarshipActive = false;


            if (income < minSalary && averageGrades > 4.50)
            {
                isSocialScholarshipActive = true;
            }

            if (averageGrades >= 5.50)
            {
                isExcelentScholarshipActive = true;
            }

            if (!isSocialScholarshipActive && !isExcelentScholarshipActive)
            {
                Console.WriteLine("You cannot get a scholarship!");
            }

            if (isSocialScholarshipActive && !isExcelentScholarshipActive)
            {
                Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarship)} BGN");
            }
            else if (!isSocialScholarshipActive && isExcelentScholarshipActive)
            {
                Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(excellentScholarship)} BGN");
            }
            else if (isSocialScholarshipActive && isExcelentScholarshipActive)
            {
                if (socialScholarship > excellentScholarship)
                {
                    Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarship)} BGN");
                }
                else if (excellentScholarship >= socialScholarship)
                {
                    Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(excellentScholarship)} BGN");
                }
            }


        }
    }
}
 

0
kolioi avatar kolioi 641 Точки

Не знам защо всички правите толкова много проверки на тази задача. Преди няколко дни бях дал едно решение на C++ ето тук. Това е същия код, но написан на C# като дори имената на променливите са същите като твоите

using System;

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

            int socialScholarship = 0;
            int excellentScholarship = 0;

            if (income < minSalary && averageGrades > 4.5)
                socialScholarship = (int)(minSalary * 0.35);
            if (averageGrades >= 5.5)
                excellentScholarship = (int)(averageGrades * 25);

            if (socialScholarship == 0 && excellentScholarship == 0)
                Console.WriteLine("You cannot get a scholarship!");
            else if (socialScholarship > excellentScholarship)
                Console.WriteLine("You get a Social scholarship {0} BGN", socialScholarship);
            else
                Console.WriteLine("You get a scholarship for excellent results {0} BGN",
                                                                       excellentScholarship);
        }
    }
}

 

0
iwrys avatar iwrys 0 Точки

Супер. Много благодаря и на двама ви , за отговорите! Задачата беше страшно полезна за мен  и споделянето , също. Помогна ми да упражня мисленето си логически и да разсъждавам латерално ,виждайки различните начини да решиш даден проблем .

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.