[Programming Fundamentals] Problem 2: Vapor Store
Някой може ли да ми помогне, дават ми 20 точки, а се мъча 2 часа на нея.
Някой може ли да ми помогне, дават ми 20 точки, а се мъча 2 часа на нея.
https://pastebin.com/1WtvEAAk - това е кода на Java е,поогледай го и виж проверките.Дава ми 70/100.Не знам къде бъркам.Нулевите тестове ми минават,но три от тестовете не.
Здравей,
Същественото, което забелязах е, че не е много ясно дали gamePrice е цената на текущата игра или на всички. В първите 2 проверки за име на игра я присвояващ да е на текущата, а в следващите я добавяш с +=. После я вадиш от balance1, сякаш е само за новозакупената игра. Но накрая я вадиш от началния баланс, за да намериш остатъка. Виждам, че си въвела в началото и променлива spent, която не се използва. Предложение: gamePrice - цена на текущата игра и във всички условия става gamePrice = ...., а не с +=. А в spent се трупа с +=. А можеш и да не използваш spent, а накрая изхарченото ще e (balance - balance1).
Здрасти,
Ето ти решение на C#, което ти дава 100/100 - https://pastebin.com/qtDdguMm
Имам и второ решение, при което използвам речник - https://pastebin.com/MPiAsvep
Благодаря!
1. Кръщавай си променливите по разбираем начин, balance и balance1 не се разбира много за какво иде реч. Нечетимо е.
2. Първите ти два дабъла са 0, а третия е 0.0.
3. Декларирането на празен стринг се прави или със string.Empty или null.
4. Задатача очевидно желае използване на while цикъл.
5. If-ове на един ред можеш да изпълняваш директно на самия ред след командата (eg: if (a > b) Console.WriteLine(a) ).
6. Грешен правопис на "Out Of money" (трябва да е Out of money).
7. Накрая нямаш нужда от толкова Console.Write, като можеш да обединиш всичко на един ред и да използваш \n.
8. Логически погледнато нямаш проверка за това дали играта струва повече пари, отколкото имаш.
Моя съвет е изтрий всичко, което си написал до сега, прочети пак условието, нахвърли си плана на един лист хартия и започни да я решаваш наново. Ето тук: https://pastebin.com/wcJXzDFN можеш да хвърлиш един поглед и на моето решение, но това е от лесните задачи, няма смисъл да ги пускаш в джъджа заради стоте точки, а по-скоро да си я решиш сам.
https://pastebin.com/TEZP1CuT
Оправил съм ти кода, почти беше готов с малки грешки. Форматирал съм ти четимо if else конструкциите, свиквай да ги пишеш на нов ред, за да може този който ти чете кода да се ориентира по лесно. Оставил съм коментари, където ти бяха грешките за да можеш да ги огледаш.
Благодаря!
Здравейте колеги , това ми е кода https://pastebin.com/04S0nfJ7 с него ми дава 80/100 , разбрах къде ми е грешката , но не мога да я поправя . Ако въведа като сума с която разполагам 35,98 и си ппоръчам CS: OG(15,99) трябва да ми останат (19,99) , но понеже работя с double ми остават 19,9899999995 , което е по малко от 19,99 и не мога да поръчам например Zplinter Zell(19,99), пробвах да работя с decimal за balance (както е показано по -горе) , но тогава не иска да извършва пресмятания с double и decimal . Въпроса ми е как това 19,9899999995 да го превърна в 19,99 и if-a да работи със закръглената стойност ( пробвах с Round и други формати но не успях).
Пробвай с Math.Round(ПРОМЕНЛИВАТА, 4);
на много места пробвах да го направя с round , но крайният резултат не е желаният
с f2 пробва ли - също закръгля