Промлем при решаване на задачата за изчисляване на комисионни в 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 веригата, понеже като ти се изпълни по-горно условие -> следващите (включително този) се пропускат.
Да така е просто не сьм го сьобразил.