07. Trade Commissions / Вложени условни конструкции
Здравейте! Judge ми дава 94/100 на въпросната задача. Моля да ми кажете къде греша. Прилагам какво ми казва judge, кода в pastebin и условието на задачата. Благодаря предварително!
Здравейте! Judge ми дава 94/100 на въпросната задача. Моля да ми кажете къде греша. Прилагам какво ми казва judge, кода в pastebin и условието на задачата. Благодаря предварително!
сложи един
return;
след като печаташ грешката, за да излиза, иначе в момента ти продължава и пак печата отрицателната отстъпка.
Мисля че проблемът идва от това, че в случаите в които има грешка в input-a и ти отпечатваш "error", кодът ти е така написан, че понякога след error-a отпечатваш и размер на комисионната.
Добавих ти един boolean error-check, и промених кода така, че да има само един Console.Writeline с комисионната на края и той да излиза само ако при извършването на кода е нямало грешки (bool error=false).
https://pastebin.com/Ld3026SE
Дано съм ти помогнал :)
Добро утро, TNedyalk,
съветът на willystyle е достатъчен за корекция в програмата на krasi.krastanova, за да мине с 100/100!
Поздрави,
Иван :)
Здравей, Краси.
Предлагам , преди отпечатването , да привериш дали комисионната
не е отрицателно число.
Примерно : https://pastebin.com/ciU7frHj
С уважение,
Генади
Това за комисионната да я декларираш като отрицателно число е хитро. при мен се получи!
Здравей, колега krasi.krastanova!
Заповядай моето решение, получих 100. малко е грозничко и дърварско, но ще ти свърши работа. Успех!
Ето го:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp49_komisionni_i_prodajbi
{
class Program
{
static void Main(string[] args)
{
string town = Console.ReadLine();
double sales = double.Parse(Console.ReadLine());
string sofiaTown = "Sofia";
string plovdivTown = "Plovdiv";
string varnaTown = "Varna";
bool isSmallerThanFiveHundred = sales >= 0 && sales <= 500;
bool isSmallerThan1000 = sales > 500 && sales <= 1000;
bool isSmallerThan10000 = sales > 1000 && sales <= 10000;
bool biggerThan10000 = sales > 10000;
double comission = -1.0;
if (town == sofiaTown)
{
if (isSmallerThanFiveHundred)
{
comission = 0.05;
}
else if (isSmallerThan1000)
{
comission = 0.07;
}
else if (isSmallerThan10000)
{
comission = 0.08;
}
else if (biggerThan10000)
{
comission = 0.12;
}
}
else if (town == varnaTown)
{
if (isSmallerThanFiveHundred)
{
comission = 0.045;
}
else if (isSmallerThan1000)
{
comission = 0.075;
}
else if (isSmallerThan10000)
{
comission = 0.1;
}
else if (biggerThan10000)
{
comission = 0.13;
}
}
else if (town == plovdivTown)
{
if (isSmallerThanFiveHundred)
{
comission = 0.055;
}
else if (isSmallerThan1000)
{
comission = 0.08;
}
else if (isSmallerThan10000)
{
comission = 0.12;
}
else if (biggerThan10000)
{
comission = 0.145;
}
}
if (comission < 0.0)
{
Console.WriteLine("error");
}
else
{
double result = sales * comission;
Console.WriteLine(result.ToString("f2"));
}
}
}
}
Ако ти трябва помощ с допълнителен коментар или разяснение- питай на линия съм.
П.П. още веднъж да кажа- извиянвам се, че е толкова грозно, просто измислянето на имена на променливите ми куца.
Аз имам подобен проблем, също ми дава 94/100, но не виждам къде съм сбъркал. Може ли някой да помогне. Благодаря :)
https://pastebin.com/QFq3UGpM