Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Аз съм в началото на решението тествам си начини по които да я реша , но в момента съм забил на това решение понеже втория Console.WriteLine не работи и не ми е много ясно с тия if else конструкции , ако някой ми помогне ще си я дореша и по нататък
Добре, ако си съгласен, ще ти дам някои насоки, но решението ти може доста да се трансформира:
- веднага след прочитането на входните данни си направи една променлива, в която да си държиш сумата за транспортните разходи (в началото е равна на 0) и след това в if-else проверки според броя на хората смяташ процентите от бюджета, които ще бъдат за транспорт, запазвайки сметнатото в тази променлива;
- след като вече имаш сумата за транспорт, в променливата moneyLeft можеш да си сметнеш остатъка за билети -> бюджет минус транспорт;
- после според категорията и броя на хората в нова променлива смяташ каква сума за билети се получава;
- и сега остава само да провериш дали остатъкът от бюджета е по-голям или равен на сумата за билетите и ако да, печаташ съответното съобщение, а ако не - другото.
Виж как ще се справиш според тези насоки, ако имаш желание въобще да ги ползваш, разбира се. И с каквото е нужно, пак ще помагаме.
Ако те разбирам правилно това означава :
double transportniRazhodi = 0;
if (people > 1 && people <= 4)
{
transportniRazhodi = budget - (75 * budget / 100);
}
https://pastebin.com/maFZvEpV
я кажи набързо как трябва да стане принтирането , че ми е много тегаво...
В първата проверка си сложи people >= 1, понеже така, както е сега, изобщо няма да мине дори и още първият пример, който е с един човек. Транспортните разходи трябва да ги сметнеш така: transportniRazhodi = budget * 75 / 100; и така за всички останали случаи. Преди финалната проверка за печатането трябва да сметнеш парите, които са останали, нещо от сорта на double moneyLeft = budget - transportniRazhodi; Самата проверка я правиш така: if (ticketCost < moneyLeft) и за първия случай смяташ moneyLeft - ticketCost, а за втория - обратното. Слагаш и :f2 за форматиране, понеже го няма за печатането, което е за недостигащи пари.
Дава ми :
Severity Code Description Project File Line Suppression State
Error CS0103 The name 'ticketCost' does not exist in the current context Match Tickets C:\Users\Slav\source\repos\Conditional Statements Advanced - More Exercises\Conditional Statements Advanced - More Exercises\Program.cs 78 Active
https://pastebin.com/FJYcU2JM
Дава ти тази грешка, защото променливата ticketCost не съществува никъде другаде освен в проверките за category, т. е. тя "живее" само в тези блокове от код и не можеш да я ползваш извън тях. Изведи я преди if-a точно под double transportniRazhodi = 0; -> double ticketCost = 0; и после в проверките само си я приравняваш ticketCost = normal * people; и ticketCost = vip * people;
И накрая в else-а за печатането на втория вариант съобщение, направи изчислението така: {ticketCost - moneyLeft}, защото в моента е {ticketCost - transportniRazhodi}, и добави :f2 за форматирането.