Софтуерно Инженерство
Loading...
+ Нов въпрос
whitez avatar whitez 2 Точки

09. Scholarship C#

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

Имам проблем със следната задача: https://judge.softuni.bg/Contests/Compete/Index/1161#8 .Това е моето решение(https://pastebin.com/9VSDaCPX), с което получавам 62 от 100 точки. Въпросът ми е, дали може да се реши по начина, по който се опитвам, защото видях и други решения във форума,но искам да поправя моето решение, ако е възможно. Благодаря !

Y.Yordanov21 avatar Y.Yordanov21 50 Точки
Best Answer

Здравей,

Оправих ти кода: https://pastebin.com/hFaYW1ii 

една от причините че не ти излиза 100/100,е че вкарваш много проверки в първия ти if. Така не можеш да обхванеш всички случаи и програмата ти влиза накрая в else-a и излиза. Разбих ги случаите и ти разместих малко кода. 

Дано да съм ти помогнал :)

0
whitez avatar whitez 2 Точки

Благодаря!

 

0
Iv_Konov avatar Iv_Konov 356 Точки

Здравейте,

 

Отремонтирах кода... 100/100.

Наистина не разбирам, защо не следвате условието на задачата, а усложнявате разсъжденията?!? smiley

 

Малко по-рано писах за същата задача:

https://softuni.bg/forum/26297/stipendii-v-csharp-mart-2019

 

==========================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Scholarship
{
    class Program
    {
        static void Main(string[] args)
        {
            double incomeInLeva = double.Parse(Console.ReadLine());
            double averageSuccess = double.Parse(Console.ReadLine());
            double minimalSalary = double.Parse(Console.ReadLine());
            double SocialScholarship = Math.Floor(minimalSalary * 0.35);
            double ScholarshipForExcellentResults = Math.Floor(averageSuccess * 25);
            if (incomeInLeva < minimalSalary && averageSuccess > 4.5 && averageSuccess < 5.5) // && SocialScholarship > ScholarshipForExcellentResults)
            {
                Console.WriteLine($"You get a Social scholarship {SocialScholarship} BGN");
            }
            else if (incomeInLeva < minimalSalary && averageSuccess >= 5.5 && ScholarshipForExcellentResults < SocialScholarship)
            {
                Console.WriteLine($"You get a Social scholarship {SocialScholarship} BGN");
            }
            else if (averageSuccess >= 5.5 && ScholarshipForExcellentResults >= SocialScholarship && incomeInLeva < minimalSalary)
            {
                Console.WriteLine($"You get a scholarship for excellent results {ScholarshipForExcellentResults} BGN");
            }
            else if (averageSuccess >= 5.5) // && incomeInLeva > minimalSalary)
            {
                Console.WriteLine($"You get a scholarship for excellent results {ScholarshipForExcellentResults} BGN");
            }
            else
            {
                Console.WriteLine("You cannot get a scholarship!");
            }
        }
    }
}

==================================

 

Поздрави,

Иван

0
02/04/2019 13:53:37
Iv_Konov avatar Iv_Konov 356 Точки

п.с.

Ако държите решението да си е само ваше.... може да пробвате да подобрите моето предложение за решение от линка. :)

Примерно, може да потърсите елегантен начин да елиминирате нуждата от булевата променлива (yesScolarship). Това ми е  хрумнало на момента... и няма как да е идеалното.

 

Иван :)

0
whitez avatar whitez 2 Точки

Благодаря !

0