Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace _1._1_DishwasherVariation
- {
- class Program
- {
- static void Main()
- {
- int detergent = int.Parse(Console.ReadLine());
- int totalDetergent = detergent * 750; //за прегледност и по-лесна употреба
- int containers = 0; //съдове
- int dishes = 0; //numOfPlates
- int dishesDetergent = 0; //spentDetergentInwashedPlates
- int pots = 0; //numOfPots
- int potsDetergent = 0; //spentDetergentInWashedPots
- int counter = 1; //// забравил си да си направиш брояч, който ще ни е необходим за модулното делене по-долу.
- //int difference = 0; // - все още не ти е нужно. Даже не съм сигурен дали изобщо ще е нужно. Може би в логиката, която ще разпиша е излишно.
- string command = Console.ReadLine(); //numOfContainers
- while (command != "End")
- {
- containers = int.Parse(command);
- //тук е нужно на всяко трето зареждане със съдове, съдомиялната да се пълни само с тенджери, а останалите пъти с чинии. За целта използваме модулно делене.
- if (counter % 3 == 0)
- {
- potsDetergent = containers * 15;
- totalDetergent -= potsDetergent; //allDeterget = allDetergent - potsDetergent;
- pots += containers; // pots = pots + containers;
- }
- else
- {
- dishesDetergent = containers * 5;
- totalDetergent -= dishesDetergent;
- dishes += containers;
- }
- //allDetergent = dishesDetergent + potsDetergent; - не е нужно тъй като с по-горната логика то автоматично се събира. Първите две въвеждания (command в твоя случай) ги приема за чинии (понеже не отговаря на модулното делене) и ги прибавя към AllDetergent, а при третото въвеждане го приема за тенджера и отново прибавя към AllDetergent :)
- if (totalDetergent < 0)
- {
- Console.WriteLine($"Not enough detergent, {Math.Abs(totalDetergent)} ml. more necessary!");
- return; //return излиза изцяло от static void Main() и това ще е последното, което ще се изпълни. Ако бяхме използвали "break" това щеше да е последният изпълнене ред от цикъла, но щеше да ни изведе след цикъла, а ние там използваме друга логика и не искаме накрая в конзолата да ни се отпечатват и двете логики едновременно :)
- }
- command = Console.ReadLine();
- counter++;
- }
- //if (command == "End" && detergent >= allDetergent)
- //{
- // difference = detergent - allDetergent;
- // Console.WriteLine("Detergent was enough!");
- // Console.WriteLine($"{dishes} dishes and {pots} pots were washed.");
- // Console.WriteLine($"Leftover detergent {difference} ml.");
- //}
- //else if (command == "End" && detergent < allDetergent)
- //{
- // difference = allDetergent - detergent;
- // Console.WriteLine($"Not enough detergent, {difference} ml. more necessary!");
- //}
- //else
- //{
- // difference = allDetergent - detergent;
- // Console.WriteLine($"Not enough detergent, {difference} ml. more necessary!");
- //} - това ти е излишно, можеш да го изтриеш
- Console.WriteLine($"Detergent was enough!");
- Console.WriteLine($"{dishes} dishes and {pots} pots were washed.");
- Console.WriteLine($"Leftover detergent {totalDetergent} ml.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement