Loading...
Leprikona avatar Leprikona 108 Точки
Best Answer

Това е фикснатият код.

1. може month и days направо горе да се дефинират;
month = Console.ReadLine();
days = Convert.ToInt32(Console.ReadLine());


2. смени placeholder-a с {0:f2}, който закръгля до втория знак след десетичната запетая;


3. махни wholePa.ToString() и wholePs.ToString() и ги замени с "Apartment: {0:f2} lv." и "Studio: {0:f2} lv.";


4. дните през  Юни, Юли, Август и Септември трябва да са повече от (>14), а не да са 14 или повече(>=14!!!!);

5. махни последния "Console.ReadLine()", той не ти върши никаква работа;

6. не оставяй толкова място между редовете, че е по-трудно кода да се проследи;

7. използвай pastebin.

Успех в обучението! :)

0
Stradjazz avatar Stradjazz 30 Точки

А защо е необходимо да конвертира days при положение, че си е зададена като int и може да я парсне директно?

int days = int.Parse(Console.ReadLine());

0
Leprikona avatar Leprikona 108 Точки

Добър въпрос! И аз не мога да си обясня като е зададено по условие. Не знам кво ми е хрумнало тогава. :D

0
mitaka206 avatar mitaka206 4 Точки

Във връзка със старите задачи от изпити и аз искам да добавя нещо важно.

Аз съм от група JAVA на Programming basics, септември'16

Реших някои от първите задачи от стари изпити, но при проверка в judge, ми дава множество грешки, дължащи се на проблем със закръглянето, и то на 0,0000000???-ниво. предполагам, защото са писани на C#.

Много моля, този проблем да се оправи! Защото на изпита ще пропищят много хора с верни задачи, а системата им е показала, че са грешни.

...Става въпрос за тази задача: http://pastebin.com/ei8Ti0KD

1
5
5

569.6687179487179   , а това е вярното:   569.668717948718

0
28/09/2016 09:59:02
Pilgrimage avatar Pilgrimage 515 Точки

Не виждам къде прилагаш отстъпката за брой нощувки.

Виш как съм го направил аз, примерно за май/октомври:

                    if (numberOfNights > 14)
                    {
                        priceApart = numberOfNights * 65.0 * 0.9;
                        priceStudio = numberOfNights * 50.0 * 0.7;
                    }
                    else if (numberOfNights > 7)
                    {
                        priceStudio = numberOfNights * 50.0 * 0.95;
                        priceApart = numberOfNights * 65.0;
                    }
                    else
                    {
                        priceApart = numberOfNights * 65.0;
                        priceStudio = numberOfNights * 50.0;
                    }

А цялото решение е тук : http://pastebin.com/4XZsBX76

0
proedwali avatar proedwali 0 Точки

priceA = priceA - (priceA * 10 / 100);

Просто правя формула, вместо да пресмятам на ум.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Прочети правилата на фирума и ползвай pastebin за код по-дълъг от 15 реда.

0
Pilgrimage avatar Pilgrimage 515 Точки

1. Премахни това "Console.ReadLine();" в края на програмата си и я стартирай със Ctrl+F5. Така няма да ти се затваря прозореца след изпълнение.

2. Поправи си диапазоните, така, че да станат :

if (days > 7 && days <= 14)

if (days > 14)

Другата грешка е, че при въвеждане на 0 дни, резултатът е:

Apartment: .00 lv.
Studio: .00 lv.

т.е. не се изпечатва нулата за левовете.

0
23/09/2016 22:38:07
proedwali avatar proedwali 0 Точки

Благодаря! :)

0
dakata avatar dakata 26 Точки

Използвай условна конструкция switch-case:

using System;

namespace HotelRoom
{
    class Program
    {
        static void Main(string[] args)
        {
            string month = Console.ReadLine();
            var overnights = int.Parse(Console.ReadLine());

            double studio = 0, apartament = 0;
            switch (month)
            {
                case "May":
                case "October":
                    studio = 50 * overnights;
                    apartament = 65 * overnights;
                    if (overnights > 7 && overnights <= 14) studio -= studio * 0.05;
                    else if (overnights > 14) studio -= studio * 0.30;
                    break;
                case "June":
                case "September":
                    studio = 75.20 * overnights;
                    apartament = 68.70 * overnights;
                    if (overnights > 14) studio -= studio * 0.20;
                    break;
                case "July":
                case "August":
                    studio = 76 * overnights;
                    apartament = 77 * overnights;
                    break;
                default:
                    break;
            }
            if (overnights > 14) apartament -= apartament * 0.10;

            Console.WriteLine("Apartment: {0:F2} lv.", apartament);
            Console.WriteLine("Studio: {0:F2} lv.", studio);
        }
    }
}

 

0
dakata avatar dakata 26 Точки

Съжалявам за обемистият код - следващия път ще използвам pastebin при повече от 15 реда, съгласно правилата на форума.

Поздрави,

dakata

0
proedwali avatar proedwali 0 Точки

Благодаря, видях кода за switch case, исках да го реша по различен начин от дадените отговори.

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