Промлем при решаване на задачата за изчисляване на комисионни в 3 различни града -модула Programing bacik C#.
Може ли някой да ми каже защо този код не работи?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace trade_comissions
{
class Program
{
static void Main(string[] args)
{
var city = Console.ReadLine().ToLower();
var sales = double.Parse(Console.ReadLine());
var comission = 0.0;
if (city == "Sofia")
{
if( sales>=0 && sales <= 500) comission=0.05;
else {
if (sales>=500 && sales <= 1000) comission = 0.07;
else {
if (sales>=1000 && sales <= 10000) comission = 0.08;
else comission = 0.12;
}
}
}
else if (city =="Plovdiv")
{
if (sales >= 0 && sales <= 500) comission = 0.055;
else {
if (sales >= 500 && sales <= 1000) comission = 0.08;
else {
if (sales >= 1000 && sales <= 10000) comission = 0.12;
else comission = 0.145;
}
}
}
else if (city =="Varna")
{
if (sales >= 0 && sales <= 500) comission = 0.045;
else {
if (sales >= 500 && sales <= 1000) comission = 0.075;
else {
if (sales >= 1000 && sales <= 10000) comission = 0.1;
else comission = 0.13;
}
}
}
else if (comission > 0) Console.WriteLine("{0:f2}" ,comission * sales);
else Console.WriteLine("error");
}
}
}
Да това е грешка,но и без да дам ToLower пак не ми работи странно защо?!
Този ред
else if (comission > 0) Console.WriteLine("{0:f2}" ,comission * sales);
... не трябва да е част от if - else if веригата, понеже като ти се изпълни по-горно условие -> следващите (включително този) се пропускат.
Да така е просто не сьм го сьобразил.