Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Homework29
- {
- class Program
- {
- static void Main()
- {
- Console.Write("Введите максимальную длину шкалы здоровья: ");
- double maxBarLength = GetUserInput();
- maxBarLength = CheckForNegativeValue(maxBarLength);
- Console.Write("\nВведите процент, на который хотите закрасить шкалу: ");
- double filledPercent = GetUserInput();
- filledPercent = CheckForNegativeValue(filledPercent);
- filledPercent = CheckForCorrectPercent(filledPercent);
- DrawBar(maxBarLength, filledPercent);
- }
- static void DrawBar(double maxBarLength, double percentOfFilling, char userSymbol = '|')
- {
- ConsoleColor defaultColor = Console.BackgroundColor;
- string bar = "";
- double initialPercent = 0;
- double fullPercentOfFilling = 100;
- double filledPercent = percentOfFilling * (maxBarLength / fullPercentOfFilling);
- bar = FillBar(initialPercent, filledPercent, bar, userSymbol);
- Console.Write('[');
- Console.BackgroundColor = ConsoleColor.Green;
- Console.Write(bar);
- Console.BackgroundColor = defaultColor;
- bar = FillBar(filledPercent, maxBarLength, bar, userSymbol);
- Console.Write(bar + ']');
- }
- static string FillBar(double initialPercent, double fillingPercent, string bar, char fillingSymbol)
- {
- bar = "";
- for (double i = initialPercent; i < fillingPercent; i++)
- {
- bar += fillingSymbol;
- }
- return bar;
- }
- static double GetUserInput()
- {
- double userNumber;
- while (!double.TryParse(Console.ReadLine(), out userNumber))
- {
- Console.Write("Неверный формат введенных даных. Введите число: ");
- }
- return userNumber;
- }
- static double CheckForNegativeValue(double userInput)
- {
- while (userInput < 0)
- {
- Console.Write("Данная величина не может быть отрицательной. Введите значение величины: ");
- userInput = GetUserInput();
- }
- return userInput;
- }
- static double CheckForCorrectPercent(double userPercent)
- {
- double fullPercent = 100;
- while (userPercent > fullPercent)
- {
- Console.Write("Веденный Вами процент не может быть больше 100%. Введите корректное значение процента: ");
- userPercent = GetUserInput();
- }
- return userPercent;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement