Conditional Statements Advanced - Lab - 12. Trade Commissions - SoftUni C# Programming Basics
Здравейте! В момента карам курс Programming Basics на C#. Visual Studio не ми отразява никакви проблеми със задачата, но Judge не ми я приема. Мога ли да помоля за малко съдействие. Благодаря предварително! :))
Условие:
12.Търговски комисионни
Фирма дава следните комисионни на търговците си според града, в който работят и обема на продажбите:
Град |
0 ≤ s ≤ 500 |
500 < s ≤ 1 000 |
1 000 < s ≤ 10 000 |
s > 10 000 |
Sofia |
5% |
7% |
8% |
12% |
Varna |
4.5% |
7.5% |
10% |
13% |
Plovdiv |
5.5% |
8% |
12% |
14.5% |
Напишете конзолна програма, която чете име на град (стринг) и обем на продажби (реално число) , въведени от потребителя, и изчислява и извежда размера на търговската комисионна според горната таблица. Резултатът да се изведе форматиран до 2 цифри след десетичната точка. При невалиден град или обем на продажбите (отрицателно число) да се отпечата "error".
Примерен вход и изход
вход |
изход |
|
вход |
изход |
|
вход |
изход |
|
вход |
изход |
Sofia 1500 |
120.00 |
Plovdiv 499.99 |
27.50 |
Varna 3874.50 |
387.45 |
Kaspichan -50 |
error |
Моето решение:
using System;
namespace _12._Trade_Commissions
{
class Program
{
static void Main(string[] args)
{
string town = Console.ReadLine();
double sales = double.Parse(Console.ReadLine());
double commision = 0;
switch (town)
{
case "Sofia":
if (sales >= 0 && sales <= 500)
{
commision = 0.05;
}
else if (sales > 500 && sales <= 1000)
{
commision = 0.07;
}
else if (sales > 1000 && sales <= 10000)
{
commision = 0.08;
}
else if (sales > 10000)
{
commision = 0.12;
}
else
{
Console.WriteLine("error");
}
break;
case "Varna":
if (0 <= sales && sales <= 500)
{
commision = 0.45;
}
else if (500 < sales && sales <= 1000)
{
commision = 0.75;
}
else if (1000 < sales && sales <= 10000)
{
commision = 0.1;
}
else if (sales > 10000)
{
commision = 0.13;
}
else
{
Console.WriteLine("error");
}
break;
case "Plovdiv":
if (0 <= sales && sales <= 500)
{
commision = 0.55;
}
else if (500 < sales && sales <= 1000)
{
commision = 0.08;
}
else if (1000 < sales && sales <= 10000)
{
commision = 0.12;
}
else if (sales > 10000)
{
commision = 0.145;
}
else
{
Console.WriteLine("error");
}
break;
default:
Console.WriteLine("error");
break;
}
double totalSum = sales * commision;
if (commision > 0)
{
Console.WriteLine($"{totalSum:f2}");
}
}
}
}
Case varna и case plovdiv са ти объркани в проверките.
Прилагам парче код от моето решение ,за да можеш да свериш:
case "Varna":
{
if (sales >= 0 && sales <= 500)
{
commission = sales * 0.045;
}
else if (sales > 500 && sales <= 1000)
{
commission = sales * 0.075;
}
else if (sales > 1000 && sales <= 10000)
{
commission = sales * 0.1;
}
else if (sales > 10000)
{
commission = sales * 0.13;
}
else if (sales < 0)
{
Console.WriteLine("error");
}
}
break;
case "Plovdiv":
{
if (sales >= 0 && sales <= 500)
{
commission = sales * 0.055;
}
else if (sales > 500 && sales <= 1000)
{
commission = sales * 0.08;
}
else if (sales > 1000 && sales <= 10000)
{
commission = sales * 0.12;
}
else if (sales > 10000)
{
commission = sales * 0.145;
}
else if (sales < 0)
{
Console.WriteLine("error");
}
}
break;
Поздрави,