Trade Comissions
Системата ми дава 94 точки и не мога да открия проблема. Благодаря предварително.
1.Търговски комисионни
Фирма дава следните комисионни на търговците си според града, в който работят и обема на продажбите s:
|
Град |
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 |
Тествайте решението си в judge системата: https://judge.softuni.bg/Contests/Compete/Index/1013#6
* Подсказки:
- Прочетете входа и обърнете града в малки букви (като в предходната задача).
- Първоначално задайте комисионна -1. Тя ще бъде променена, ако градът и ценовият диапазон бъдат намерени в таблицата с комисионните.
- Използвайте вложени if проверки, за да изчислите комисионната според града и според обема на продажбите. Може да си помогнете с кода по-долу:

- Накрая проверете комисионната. Ако все още е -1, значи въведеният град или обем продажби не се срещат в таблицата с комисионните и трябва да се отпечата „error“. В противен случай трябва да се изчисли комисионната (процент комисионна по обем на продажбите) и да се отпечата със закръгляне с точно 2 цифри след десетичната точка. Може да използвате System.out.printf("%.2f", commission);
import java.util.Scanner;
public class p07_tradeComissions {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String town = scanner.nextLine();
double sales = Double.parseDouble(scanner.nextLine());
double commission = -1;
if (town.equalsIgnoreCase("Sofia")) {
if (sales >= 0 && sales <= 500) commission = 0.05;
else if(sales>=500 && sales <=1000) commission = 0.07;
else if(sales>=1000 && sales<= 10000) commission = 0.08;
else if(sales>= 10000) commission = 0.12;
System.out.printf("%.2f", commission*sales);
}
else if(town.equalsIgnoreCase("Varna")) {
if (sales >= 0 && sales <= 500) commission = 0.045;
else if (sales >= 500 && sales <= 1000) commission = 0.075;
else if (sales >= 1000 && sales <= 10000) commission = 0.1;
else if (sales >= 10000) commission = 0.13;
System.out.printf("%.2f", commission*sales);
}
else if (town.equalsIgnoreCase("Plovdiv")) {
if (sales >= 0 && sales <= 500) commission = 0.055;
else if (sales >= 500 && sales <= 1000) commission = 0.08;
else if (sales >= 1000 && sales <= 10000) commission = 0.12;
else if (sales >= 10000) commission = 0.145;
System.out.printf("%.2f", commission * sales); }
if (commission<=0) {
System.out.println("error");
}
}
}
Благодаря, вече са 100 от 100 :)