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

Scholarship

Здравейте,

Зациклих с решението на дадената задача. Като я дебъгвам не откривам грешки. Може ли да помогнете?

ето го и кода:

using System;

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

            double scholarship = 0.0;
            double social = 0.0;


            if (income < min_income)
            {
                social = min_income * 0.35;

                if (score >= 5.5)
                {
                    scholarship = score * 25.0;

                    if (social > scholarship)
                    {
                        Console.WriteLine("You get a Social scholarship {0} BGN", Math.Floor( social));
                    }
                    else
                    {
                        Console.WriteLine("You get a scholarship for excellent result {0} BGN", Math.Floor( scholarship));
                    }

                }
                else if (score > 4.5)
                {
                    Console.WriteLine("You get a Social scholarship {0} BGN", Math.Floor (social));
                }
                else
                {
                    Console.WriteLine("You cannot get a scholarship!");
                }
            }
            else
            {
                if (score >= 5.5)
                {
                    scholarship = score * 25.0;

                    Console.WriteLine("You get a scholarship for excellent result {0} BGN", Math.Floor ( scholarship));

                }
                else
                {
                    Console.WriteLine("You cannot get a scholarship!");
                }
            }
        }
    }
}

 

Тагове:
0
Programming Basics with C#
MarioGn:
Проблема е решен ;)
dZf1aeA-siyana201216 avatar dZf1aeA-siyana201216 10 Точки

Предполагам че грешката ти иидва в  else if (score > 4.5) което трябва да е  else if (score >= 4.5) . Погледни и моето решение https://pastebin.com/hBpc19Wv

0
Stanislavyv avatar Stanislavyv 2 Точки

Аз съм я решил по малко по-различен начин, с по-малко вложени условни конструкции и повече употреба на логически оператори (&& и ||). Ето моето решение ако ти е от полза, дава 100/100. :)

 

            double incomeInBGN = double.Parse(Console.ReadLine());
            double averageScore = double.Parse(Console.ReadLine());
            double minWage = double.Parse(Console.ReadLine());

            double еxcResultScholarshipCash = averageScore * 25;
            double socialScholarshipCash = minWage * 0.35;

            if (averageScore >= 5.50 && incomeInBGN < minWage)
            {
                if (еxcResultScholarshipCash > socialScholarshipCash)
                {
                    Console.WriteLine($"You get a scholarship for excellent results                  {Math.Floor(ExcResultScholarshipCash)} BGN");
                }
                else if (еxcResultScholarshipCash < socialScholarshipCash)
                {
                    Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarshipCash)} BGN");
                }
                else
                {
                    Console.WriteLine($"You get a scholarship for excellent results {Math.Floor(еxcResultScholarshipCash)} BGN");
                }
                
             }
        else if (averageScore >= 5.50)
            {
                Console.WriteLine($"You get a scholarship for excellent results                                     {Math.Floor(еxcResultScholarshipCash)}  BGN");
            }
        else if (averageScore > 4.50 && incomeInBGN < minWage)
                  {
                      Console.WriteLine($"You get a Social scholarship {Math.Floor(socialScholarshipCash)} BGN");
                  }
        else if (averageScore < 4.50 || incomeInBGN > minWage)
                   {
                       Console.WriteLine("You cannot get a scholarship!");
                   }

0
20/09/2019 13:14:22
MarioGn avatar MarioGn 0 Точки

Сиана, не е от този else if, бробвах и със >=4 грешките са същите.

Получавам 68 точки от решението.

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

Станислав, благодаря за твойто решение. Логиката е същата но не знам защо при мен вдига грешки в Judge.

0
MarioGn avatar MarioGn 0 Точки

Колеги открих си грешките. Бяха написал result вместо resultS в Console.WriteLine - a.

Явно съм бил много гладен, след като хапнах - нещата се случиха :D.

Все пак благодаря за отделеното време!

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