profile
Размещено 5 лет назад по предмету Информатика от aleksandraa00

Очень нужна помощь. Написать код на с#, даю 75 баллов ♡


Плоскую балку удерживают два винтовых механизма, закрепленных по краям. Поворот левого механизма на один градус по часовой стрелке поднимает левый край балки на 2 см (против часовой, соответственно, опускает на 2 см). Поворот правого механизма на 1 градус поднимает (или опускает) балку на 3 см. высота механизмов изменяется в пределах от 0 до 100 см. В программе присутствуют три пользователя с разными ролями. 1 – может видеть высоту левого и правого края балки, 2 – крутить левый механизм, 3 – правый. Изначальная высота левого и правого края балки задается случайным образом при создании объекта (в диапазоне от 0 до 100 см). задача – установить балку горизонтально. Должна быть предусмотрена возможность сменить роль пользователя не завершая работу программы.

  1. Ответ на вопрос
    Ответ на вопрос дан Browze

    Ответ:

    using System;

    using System.Linq;

    class NewClass

    {

       static int

           height_left = (new Random()).Next(0, 100),

           height_right = (new Random()).Next(0, 100),

           user_permission = 1;

       static void change_left(int value)

       {

           //по часовой - положительно

           // против - отрицательное.

           if(user_permission == 2)

           {

               int temp = height_left + value * 2;

               if(temp > 100 && temp < 0)

                   System.Console.WriteLine("Инструкция не выполнена. Значение выйдет из диапазона [0;100].");

               else    

                   height_left = temp;

           }

           else

               System.Console.WriteLine("Переключите пользователя. На данном уровне прав процедура недоступна.");

       }

       static void change_right(int value)

       {

           if(user_permission == 3)

           {

               int temp = height_right + value * 3;

               if(temp > 100 && temp < 0)

                   System.Console.WriteLine("Инструкция не выполнена. Значение выйдет из диапазона [0;100].");

               else    

                   height_right = temp;

           }

           else

               System.Console.WriteLine("Переключите пользователя. На данном уровне прав процедура недоступна.");

       }

       static void get_height()

       {

           if(user_permission == 1)

               System.Console.WriteLine("Левый конец поднят на {0}.nПравый конец поднят на {1}.", height_left, height_right);

           else  

               System.Console.WriteLine("Переключите пользователя. На данном уровне прав процедура недоступна.");

       }

       static void change_permission(int value)

       {

           if(value > 0 && value < 4)

               user_permission = value;

           else  

               System.Console.WriteLine("Неверные данные. Доступные уровень прав: [1;3].");

       }

       static void Main()

       {

           int value = 0;

           while(value < 5)

           {

               System.Console.WriteLine("Выберите операцию:");

               System.Console.WriteLine("1. Сменить пользователя.");

               System.Console.WriteLine("2. Изменить высоту левого края.");

               System.Console.WriteLine("3. Изменить высоту правого края.");

               System.Console.WriteLine("4. Проверить высоту концов.");

               System.Console.WriteLine("5. Завершить работу.");

               

               value = int.Parse(System.Console.ReadLine());

               switch(value)

               {

                   case 1:

                   {

                       System.Console.WriteLine("Введите уровень прав: ");

                       change_permission(int.Parse(System.Console.ReadLine()));

                       break;

                   }

                   case 2:

                   {

                       System.Console.WriteLine("Введите значение: ");

                       change_left(int.Parse(System.Console.ReadLine()));

                       break;

                   }

                   case 3:

                   {

                       System.Console.WriteLine("Введите значение: ");

                       change_right(int.Parse(System.Console.ReadLine()));

                       break;

                   }

                   case 4:  

                   {

                       get_height();

                       break;

                   }

                   case 5:

                       value = 10;  

                       break;

               }

           }

       }

    }

    Объяснение:

    В общем.

    Стандартные значения(высота края) из рандома.

    Если я правильно понял суть задачи, то, считаю, выполнил правильно.

    Если что, пиши, исправлю.

    system.linq там не нужна. Забыл убрать с другого проекта

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.