[Programming Basic] Trade Comissions
Здравейте, може ли някой да ми открие грешката :(
Благодаря предварително!
https://pastebin.com/mG5LXSTV
Здравейте, може ли някой да ми открие грешката :(
Благодаря предварително!
https://pastebin.com/mG5LXSTV
Здравей,
на пръв поглед, без да зная условието на задачата :)
трябва да ползваш <=
Нпр.
if (0 < sales && sales <= 500)
{
Console.WriteLine(sales * 0.05);
}
Прочети си пак условието и ще се сетиш сам.
Успех!
Освен това, което каза колегата , трябва в самото начало да прочиташ
string town = Console.ReadLine().ToLower();
Защото по този начин програмата работи дори града да е VARNA или SoFiA.
След това при проверката да проверяваш
if(town == "varna")
{
...;
}
else if(town == "sofia")
{
...;
}
и т.н.
Здрваей,
Според мен има фундаментално объркване.
Защо печаташ резултата вески път, като го изчеслиш и после по-добу имаш някаква проверка по комисионната.
Аз не виждам кога тази комисионна ще си промени стойносттта от -1. Мисля, че би сладвало, да изчисляваш комисионна във всеки ред където проверяваш колко са ти продажбите. След това, като приключиш с проверките, реално да ти сработи последното условие и да разпечаташ резултата в правилен формат.
Навсякъде където имаш :
Console.WriteLine(sales * 0.145);
ги замени с
commission = sales*0.145; или въпросната комисионна за случая.
Здравей. Имаш следните грешки: навсякъде неравенствата ти ,са строги. Аз отбелязах къде трябва да са нестроги. Също така в кода на едно място, където е if (town=="Sofia")
...............................
else if (1000<sales&&1000<=10000) трябва да е else if (1000<sales&&sales<=10000)
Последната грешка е, че към края на кода си изпуснала една скоба Console.WriteLine("{0:f2",sales*comission) вместо ("{0:f2}",sales*comission). Грешките в кода ти са отбелязани с червено. Важното е, че имаш идеи. Тези грешки са чисто технически.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string town = Console.ReadLine();
var sales = double.Parse(Console.ReadLine());
var comission = -1.0;
if (town == "Sofia")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine(sales * 0.05);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(sales * 0.07);
}
else if (1000 < sales &&sales <= 10000)
{
Console.WriteLine(sales * 0.08);
}
else if (sales > 10000)
{
Console.WriteLine(sales * 0.12);
}
}
if (town == "Varna")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine(sales * 0.045);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(sales * 0.075);
}
else if (1000 < sales && sales <= 10000)
{
Console.WriteLine(sales * 0.10);
}
else if (sales > 10000)
{
Console.WriteLine(sales * 0.13);
}
}
if (town == "Plovdiv")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine(sales * 0.055);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(sales * 0.08);
}
else if (1000 < sales && sales <= 10000)
{
Console.WriteLine(sales * 0.12);
}
else if (sales > 10000)
{
Console.WriteLine(sales * 0.145);
}
}
if (comission >= 0)
{
Console.WriteLine("{0:f2}", sales * comission);
}
else
{
Console.WriteLine("error");
}
}
}
}
Сега пък не ми влиза да проверява във Иф-овете, а директно печати ERROR :(
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TradeComission
{
class Program
{
static void Main(string[] args)
{
string town = Console.ReadLine().ToLower();
var sales = double.Parse(Console.ReadLine());
var comission = -1.0;
if (town == "Sofia")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine( comission = sales * 0.05);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(comission = sales * 0.07);
}
else if (1000 < sales && 1000 <= 10000)
{
Console.WriteLine(comission = sales * 0.08);
}
else if (sales > 10000)
{
Console.WriteLine(comission = sales * 0.12);
}
}
if (town == "Varna")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine(comission = sales * 0.045);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(comission = sales * 0.075);
}
else if (1000 < sales && sales <= 10000)
{
Console.WriteLine(comission = sales * 0.10);
}
else if (sales > 10000)
{
Console.WriteLine(comission = sales * 0.13);
}
}
if (town == "Plovdiv")
{
if (0 <= sales && sales <= 500)
{
Console.WriteLine(comission = sales * 0.055);
}
else if (500 < sales && sales <= 1000)
{
Console.WriteLine(comission = sales * 0.08);
}
else if (1000 < sales && sales <= 10000)
{
Console.WriteLine(comission = sales * 0.12);
}
else if (sales > 10000)
{
Console.WriteLine(comission = sales * 0.145);
}
}
if (comission >= 0)
{
Console.WriteLine("{0:f2}", sales * comission);
}
else
{
Console.WriteLine("error");
}
}
}
}
смени първите букви на градовете от големи на малки :) - или махни .ToLower() от входа
и след това както казва колежката махни Console.WriteLine - а от проверките по градове , там можеш просто да си пазиш резултата в една променлива която да отпечатваш на края(така като е написан кода ще ти печата винаги 2 реда)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TradeComission
{
class Program
{
static void Main(string[] args)
{
string town = Console.ReadLine().ToLower();
var sales = double.Parse(Console.ReadLine());
var comission = -1.0;
if (town == "sofia")
{
if (0 <= sales && sales <= 500)
{
comission = sales * 0.05;
}
else if (500 < sales && sales <= 1000)
{
comission = sales * 0.07;
}
else if (1000 < sales && 1000 <= 10000)
{
comission = sales * 0.08;
}
else if (sales > 10000)
{
comission = sales * 0.12;
}
}
if (town == "varna")
{
if (0 <= sales && sales <= 500)
{
comission = sales * 0.045;
}
else if (500 < sales && sales <= 1000)
{
comission = sales * 0.075;
}
else if (1000 < sales && sales <= 10000)
{
comission = sales * 0.10;
}
else if (sales > 10000)
{
comission = sales * 0.13;
}
}
if (town == "plovdiv")
{
if (0 <= sales && sales <= 500)
{
comission = sales * 0.055;
}
else if (500 < sales && sales <= 1000)
{
comission = sales * 0.08;
}
else if (1000 < sales && sales <= 10000)
{
comission = sales * 0.12;
}
else if (sales > 10000)
{
comission = sales * 0.145;
}
}
if (comission >= 0)
{
Console.WriteLine("{0:f2}", sales * comission);
}
else
{
Console.WriteLine("error");
}
}
}
}
така вече трябва да работи!
Нарушени бяха точки №:
2. Преди да зададете въпрос, проверете дали вече не е зададен такъв или подобен.
9. Когато пускате теми във форума, заглавията на темите трябва да спазват следните концепции:
[Homework] Име на дисциплината - Име на лекцията - Задача {Номер} - Име задача
Пример: [Homework] C# Basics - Introduction to programming - Problem{8} - Square root[Exam Problems] Име на дисциплината - Задача {Номер} - Име задача
Пример: [Exam Problems] C# Basics - Problem{3} - Wine Glass[Teamwork] Име на дисциплината - Заглавие на темата
Пример: [Teamwork] JavaScript Basics - Заглавие на темата12. Във всеки пост е позволено цитирането на не повече от 15 реда код. Ако искате
от правилата на форума.