Loading...
KrissSvilenov avatar KrissSvilenov 1 Точки

[Programming Basic- Exam 17 July , 2016] -Задача 4. Завръщане в миналото.

Здравейте . Искам да попитам защо след като съм вкарал "years" да се добавят в if конструкцията judge ми дава  20/100 , а след като ги изкарам 100/100 . Благодаря предварително !

Задача 4. Завръщане в миналото
Иванчо е на 18 години и получава наследство, което се състои от X сума пари и машина на времето. Той решава да се върне до 1800 година, но не знае дали парите ще са достатъчни, за да живее без да работи. Напишете програма, която пресмята, дали Иванчо ще има достатъчно пари, за да не се налага да работи до дадена година включително. Като приемем, че за всяка четна (1800, 1802 и т.н) година ще харчи 12 000 лева. За всяка нечетна (1801,1803  и т.н.) ще харчи 12 000 + 50 * [годините, които е навършил през дадената година].
Вход
Входа(ът) се чете от конзолата и съдържа точно 2 реда:
Наследените пари – реално число в интервала [1.00 ... 1 000 000.00]
Годината, до която трябва да живее (включително) – цяло число в интервала [1801 ... 1900]
Изход
Да се отпечата на конзолата 1 ред. Сумата трябва да е форматирана до два знака след десетичната запетая:
Ако парите са достатъчно:
„Yes! He will live a carefree life and will have {N} dollars left.“ – където N са парите, които ще му останат.
Ако парите НЕ са достатъчно:
„He will need {М} dollars to survive.“ – където M е сумата, която НЕ достига.
 

using System;


namespace date
{
    class Program
    {
        static void Main(string[] args)
        {
            double inheritance = double.Parse(Console.ReadLine());
            int yearsInFuture = int.Parse(Console.ReadLine());

            string result = "";
            double oldsum = 0;
            double evenOrOdd = inheritance;
            int years = 18;

            for (int i = 1800; i <= yearsInFuture; i++)
            {
                if (i % 2 == 0)
                {                  
                    evenOrOdd -= 12_000;
                    oldsum = evenOrOdd;
                   
                }else
                { 
                    evenOrOdd = (12_000+ (50 * years));
                    evenOrOdd =oldsum- evenOrOdd;
                }
                years++;
            }
            
            if(evenOrOdd >=0 &&evenOrOdd <= inheritance)
            {
                result = $"Yes! He will live a carefree life and will have {(evenOrOdd):f2} dollars left.";
            }
            else if (evenOrOdd < 0)
            {
                result = $"He will need {Math.Abs(evenOrOdd):f2} dollars to survive.";
            }
            Console.WriteLine(result);
        }
    }
}

Тагове:
0
Programming Basics
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Защото без значение в коя проверка влизаш годините ти трябва да се увеличават. Дали е четна или нечетна те интересува само дотолкова доколкото да смениш сумите по зададената логика. Ако държиш проверката за years в някои от if ще изпускаш годините в който не влизаш в проверката и от там ще ти се сменят числата.

0
KrissSvilenov avatar KrissSvilenov 1 Точки

Логично е , но кой да се сети .Благодаря ти!

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