Advertisement
SPavelA

Untitled

Aug 24th, 2023 (edited)
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 30.23 KB | None | 0 0
  1.             const string CommandExit = "Exit";
  2.             const string CommandSetBirthDay = "SetBirthDay";
  3.             const string CommandSetBirthMonth = "SetBirthMonth";
  4.             const string CommandSetBirthYear = "SetBirthYear";
  5.             const string CommandGetArchetype = "GetArchetype";
  6.             const string CommandGetActions = "GetActions";
  7.             const int MenuArchetype1 = 1;
  8.             const int MenuArchetype2 = 2;
  9.             const int MenuArchetype3 = 3;
  10.             const int MenuArchetype4 = 4;
  11.             const int MenuArchetype5 = 5;
  12.             const int MenuArchetype6 = 6;
  13.             const int MenuArchetype7 = 7;
  14.             const int MenuArchetype8 = 8;
  15.             const int MenuArchetype9 = 9;
  16.             const int MenuActions1 = 1;
  17.             const int MenuActions2 = 2;
  18.             const int MenuActions3 = 3;
  19.             const int MenuActions4 = 4;
  20.             const int MenuActions5 = 5;
  21.             const int MenuActions6 = 6;
  22.             const int MenuActions7 = 7;
  23.             const int MenuActions8 = 8;
  24.             const int MenuActions9 = 9;
  25.             const int MonthJanuary = 1;
  26.             const int MonthFebrary = 2;
  27.             const int MonthMarch = 3;
  28.             const int MonthApril = 4;
  29.             const int MonthMay = 5;
  30.             const int MonthJune = 6;
  31.             const int MonthJule = 7;
  32.             const int MonthAugust = 8;
  33.             const int MonthSeptember = 9;
  34.             const int MonthOctober = 10;
  35.             const int MonthNovember = 11;
  36.             const int MonthDecember = 12;
  37.  
  38.             string command = "";
  39.             int birthDay = 0;
  40.             int birthMonth = 0;
  41.             int birthYear = 0;
  42.             int inputBirthDay;
  43.             int inputBirthMonth;
  44.             int inputBirthYear;
  45.             int archetype;
  46.             int actions;
  47.             int maximalOneDigitNumber = 9;
  48.             int tenNumber = 10;
  49.             int hundredNumber = 100;
  50.             int thousandNumber = 1000;
  51.             int minimalBirthYear = 1;
  52.             int maximalBirthYear = 2100;
  53.             int minimalBirthMonth = 1;
  54.             int maximalBirthMonth = 12;
  55.             int minimalBirthDay = 1;
  56.             int maximalBirthDayInBigMonth = 31;
  57.             int maximalBirthDayInMiddleMonth = 30;
  58.             int maximalBirthDayInFebraryMonth = 28;
  59.             int maximalBirthDayInBigFebraryMonth = 29;
  60.             int leapYearDeterminant = 4;
  61.             bool writeBirthDay;
  62.             bool isInfiniteDialog = true;
  63.  
  64.             Console.WriteLine("Добро пожаловать на консультацию в наше агенство цифровой психологии!");
  65.             Console.WriteLine($"Вы можете узнать свои свойства и автоматический способ действия, указав свою дату рождения.");
  66.  
  67.             while (isInfiniteDialog)
  68.             {
  69.                 Console.WriteLine("Введите команду:");
  70.                 Console.WriteLine($"{CommandSetBirthYear} - Ввести год рождения");
  71.                 Console.WriteLine($"{CommandSetBirthMonth} - Ввести месяц рождения");
  72.                 Console.WriteLine($"{CommandSetBirthDay} - Ввести день рождения в месяце");
  73.                 Console.WriteLine($"{CommandGetArchetype} - Узнать свой архетип, по которому сейчас мы вам расскажем только о типе вашего мышления (остальное за бабки)");
  74.                 Console.WriteLine($"{CommandGetActions} - Узнать свои автоматические действия");
  75.                 Console.WriteLine($"{CommandExit} - Завершить консультацию");
  76.                 Console.Write($"Ваш выбор: ");
  77.                 command = Console.ReadLine();
  78.                 archetype = birthDay;
  79.                
  80.                 while (archetype > maximalOneDigitNumber)
  81.                 {
  82.                     archetype = archetype % tenNumber + archetype / tenNumber;
  83.                 }
  84.  
  85.                 actions = birthDay % tenNumber + birthDay / tenNumber;
  86.                 actions += birthMonth % tenNumber + birthMonth / tenNumber;
  87.                 actions += birthYear % tenNumber + birthYear / tenNumber % tenNumber + birthYear / hundredNumber % tenNumber + birthYear / thousandNumber;
  88.                
  89.                 while (actions > maximalOneDigitNumber)
  90.                 {
  91.                     actions = actions % tenNumber + actions / tenNumber;
  92.                 }
  93.  
  94.                 switch (command)
  95.                 {
  96.                     case CommandExit:
  97.                         Console.WriteLine("До свидания!");
  98.                         isInfiniteDialog = false;
  99.                         break;
  100.  
  101.                     case CommandSetBirthYear:
  102.                         Console.Write("Введите год вашего рождения: ");
  103.                         inputBirthYear = Convert.ToInt32(Console.ReadLine());
  104.  
  105.                         if (inputBirthYear < minimalBirthYear)
  106.                         {
  107.                             Console.WriteLine("Мы не расчитываем характеристики столь древних людей, попробуйте еще раз.");
  108.                         }
  109.                         else if (inputBirthYear > maximalBirthYear)
  110.                         {
  111.                             Console.WriteLine("Я не расчитывал, что эта программка столько просуществует. Данных по этому году нет, попробуйте еще раз.");
  112.                         }
  113.                         else
  114.                         {
  115.                             birthYear = inputBirthYear;
  116.                         }
  117.                         break;
  118.  
  119.                     case CommandSetBirthMonth:
  120.                         Console.Write($"Введите месяц вашего рождения цифрой ({minimalBirthMonth} - {maximalBirthMonth}): ");
  121.                         inputBirthMonth = Convert.ToInt32(Console.ReadLine());
  122.  
  123.                         if (inputBirthMonth < minimalBirthMonth || inputBirthMonth > maximalBirthMonth)
  124.                         {
  125.                             Console.WriteLine("Неверное значение, попробуйте еще раз.");
  126.                         }
  127.                         else
  128.                         {
  129.                             birthMonth = inputBirthMonth;
  130.                         }
  131.                         break;
  132.  
  133.                     case CommandSetBirthDay:
  134.                         if (birthMonth < minimalBirthMonth || birthYear < minimalBirthYear)
  135.                         {
  136.                             Console.WriteLine("Сначала укажите месяц и год рождения и потом попробуйте еще раз.");
  137.                             break;
  138.                         }
  139.  
  140.                         Console.Write($"Введите день в месяце, когда вы родились: ");
  141.                         inputBirthDay = Convert.ToInt32(Console.ReadLine());
  142.                        
  143.                         if (inputBirthDay < minimalBirthDay)
  144.                         {
  145.                             Console.WriteLine("Такого дня не бывает ни в одном месяце, попробуйте еще раз.");
  146.                             break;
  147.                         }
  148.  
  149.                         writeBirthDay = true;
  150.  
  151.                         switch (birthMonth)
  152.                         {
  153.                             case MonthJanuary:
  154.                             case MonthMarch:
  155.                             case MonthMay:
  156.                             case MonthJule:
  157.                             case MonthAugust:
  158.                             case MonthOctober:
  159.                             case MonthDecember:
  160.                                 if (inputBirthDay > maximalBirthDayInBigMonth)
  161.                                 {
  162.                                     Console.WriteLine($"Дней в месяце {birthMonth} не может быть больше {maximalBirthDayInBigMonth}. Попробуйте еще раз.");
  163.                                     writeBirthDay = false;
  164.                                 }
  165.                                 break;
  166.  
  167.                             case MonthApril:
  168.                             case MonthJune:
  169.                             case MonthSeptember:
  170.                             case MonthNovember:
  171.                                 if (inputBirthDay > maximalBirthDayInMiddleMonth)
  172.                                 {
  173.                                     Console.WriteLine($"Дней в месяце {birthMonth} не может быть больше {maximalBirthDayInMiddleMonth}. Попробуйте еще раз.");
  174.                                     writeBirthDay = false;
  175.                                 }
  176.                                 break;
  177.  
  178.                             case MonthFebrary:
  179.                                 if (birthYear % leapYearDeterminant == 0 && inputBirthDay > maximalBirthDayInBigFebraryMonth)
  180.                                 {
  181.                                     Console.WriteLine($"Дней в месяце {birthMonth} года {birthYear} не может быть больше {maximalBirthDayInBigFebraryMonth}. Попробуйте еще раз.");
  182.                                     writeBirthDay = false;
  183.                                 }
  184.                                 else if (birthYear % leapYearDeterminant != 0 && inputBirthDay > maximalBirthDayInFebraryMonth)
  185.                                 {
  186.                                     Console.WriteLine($"Дней в месяце {birthMonth} года {birthYear} не может быть больше {maximalBirthDayInFebraryMonth}. Попробуйте еще раз.");
  187.                                     writeBirthDay = false;
  188.                                 }
  189.                                 break;
  190.                         }
  191.  
  192.                         if (writeBirthDay)
  193.                         {
  194.                             birthDay = inputBirthDay;
  195.                         }
  196.                         break;
  197.  
  198.                     case CommandGetArchetype:
  199.                         if (birthDay < minimalBirthDay || birthMonth < minimalBirthMonth || birthYear < minimalBirthYear)
  200.                         {
  201.                             Console.Write($"Сначала введите день, месяц и год роздения, а затем попробуйте еще раз.");
  202.                             break;
  203.                         }
  204.  
  205.                         Console.WriteLine($"Ваша дата рождения: {birthDay}.{birthMonth}.{birthYear}");
  206.                         Console.WriteLine($"Ваш архетип личности: {archetype}");
  207.                         Console.WriteLine("Ваш преобладающий тип мышления:");
  208.  
  209.                         switch (archetype)
  210.                         {
  211.                             case MenuArchetype1:
  212.                                 Console.WriteLine("Стратегическое мышление - является умением, позволяющим достичь желаемого результата в будущем. " +
  213.                                     "Мыслить стратегически – это способность реализовать свои мысли и идеи даже при невысокой определенности. " +
  214.                                     "Умеют быстро принимать решения и действовать в напряженной обстановке. Довольно часто ошибаются, " +
  215.                                     "но быстро исправляют ситуацию и, как правило, учатся на своих ошибках.");
  216.                                 break;
  217.  
  218.                             case MenuArchetype2:
  219.                                 Console.WriteLine("Рассудительное мышление - рассуждения строятся на основе чувств, переживаний и настроения. " +
  220.                                     "Важную роль для понимания играет конкретизация и детализация информации. Стремятся взглянуть на ситуацию " +
  221.                                     "с разных сторон и в результате испытывают трудности с принятием окончательного решения. " +
  222.                                     "Зачастую решение принимают долго, иногда на это требуется не менее 3 дней. ");
  223.                                 break;
  224.  
  225.                             case MenuArchetype3:
  226.                                 Console.WriteLine("Аналитическое мышление - подразумевает поиск новой информации, её изучение и систематизацию, а также выводы, " +
  227.                                     "сделанные на основе полученных данных. Как правило, «тройки» принимают обдуманные и взвешенные решения, умеют планировать " +
  228.                                     "и давать прогнозы своей деятельности.");
  229.                                 break;
  230.  
  231.                             case MenuArchetype4:
  232.                                 Console.WriteLine("Креативное мышление — это способность принимать нестандартные решения, " +
  233.                                     "генерировать идеи, смотреть на мир иначе. Главный принцип креативности – взять то, что уже существует, и использовать это по - другому.");
  234.                                 break;
  235.  
  236.                             case MenuArchetype5:
  237.                                 Console.WriteLine("Логическое мышление – это мыслительный процесс, которому свойственна последовательность и рассудительность, " +
  238.                                     "целью которого является получение обоснованного вывода из имеющихся предпосылок. Их рассуждения строятся на основе закономерностей, " +
  239.                                     "правил и логических связей.");
  240.                                 break;
  241.  
  242.                             case MenuArchetype6:
  243.                                 Console.WriteLine("Творческое мышление – процесс созидания, обработки информации через образные, сенсорные, " +
  244.                                     "нестандартные мыслительные связи и концепции, которое приводит к принципиально новым решениям, к новым идеям, " +
  245.                                     "открытиям и явлениям. Способность рассматривать проблему в целом,не применяя анализ.");
  246.                                 break;
  247.  
  248.                             case MenuArchetype7:
  249.                                 Console.WriteLine("Интуитивное мышление — особый тип мыслительной деятельности. У такого типа мышления нет этапов, " +
  250.                                     "зато оно характеризуется скоростью и результативностью. В процессе поиска ответа на вопрос или решения задачи, " +
  251.                                     "как правило, долго не размышляют, не проводят логический анализ имеющихся фактов. Решение приходит само в один " +
  252.                                     "момент изнутри, из подсознания.");
  253.                                 break;
  254.  
  255.                             case MenuArchetype8:
  256.                                 Console.WriteLine("Рациональное мышление - обладают способностью ставить перед собой реальные материальные цели и " +
  257.                                     "последовательно добиваться их достижения. Движущей силой является стремление сделать жизнь стабильной и предсказуемой. " +
  258.                                     "Рациональное мышление принуждает создавать и приумножать для себя материальные блага, чтобы расширить круг получаемых " +
  259.                                     "материальных удовольствий и быть более защищенным. Рациональное мышление основано исключительно на материальных ценностях, " +
  260.                                     "на расчете и на получении выгоды. ");
  261.                                 break;
  262.  
  263.                             case MenuArchetype9:
  264.                                 Console.WriteLine("Тактическое мышление – это быстрое, оперативное протекание мыслительных процессов, направленное на поиск рациональных " +
  265.                                     "путей решения задачи и достижение цели.");
  266.                                 break;
  267.                         }
  268.  
  269.                         Console.ReadKey();
  270.                         break;
  271.  
  272.                     case CommandGetActions:
  273.                         if (birthDay < minimalBirthDay || birthMonth < minimalBirthMonth || birthYear < minimalBirthYear)
  274.                         {
  275.                             Console.Write($"Сначала введите день, месяц и год роздения, а затем попробуйте еще раз.");
  276.                             break;
  277.                         }
  278.  
  279.                         Console.WriteLine($"Ваша дата рождения: {birthDay}.{birthMonth}.{birthYear}");
  280.                         Console.WriteLine($"Ваш преобладающий тип действий (особенно после 33 лет): {actions}");
  281.                         Console.WriteLine($"Ваша врожденная форма поведения (особенно после 33 лет):");
  282.  
  283.                         switch (actions)
  284.                         {
  285.                             case MenuActions1:
  286.                                 Console.WriteLine("Конструктивная форма:\n" +
  287.                                     "Стратегическое развитие кого-либо/чего-либо\n" +
  288.                                     "Покровительство (защита, заступничество и помощь, оказываемые кому-либо, имеющему более низкое положение\n" +
  289.                                     "Индивидуальность и независимость в поведении\n" +
  290.                                     "Готовность к смелым начинаниям");
  291.                                 Console.WriteLine("Деструктивная форма:\n" +
  292.                                     "Игра на публику\n" +
  293.                                     "Агрессия\n" +
  294.                                     "Подавление воли других\n" +
  295.                                     "Запугивание, диктаторство, переходящее в тиранию\n" +
  296.                                     "Хвастовство\n" +
  297.                                     "Спор ради спора\n" +
  298.                                     "\"Я\" прежде всего");
  299.                                 break;
  300.  
  301.                             case MenuActions2:
  302.                                 Console.WriteLine("Конструктивная форма:\n" +
  303.                                     "Дипломатичные действия\n" +
  304.                                     "Способность выслушать и понять человека\n" +
  305.                                     "Соблюдение нейтралитета");
  306.                                 Console.WriteLine("Деструктивная форма:\n" +
  307.                                     "Манипуляция\n" +
  308.                                     "Амбивалентность (двойственное, противоречивое отношение к кому-либо)\n" +
  309.                                     "Неуверенность\n" +
  310.                                     "Сплетни/обсуждение людей\n" +
  311.                                     "Нерешительность");
  312.                                 break;
  313.  
  314.                             case MenuActions3:
  315.                                 Console.WriteLine("Конструктивная форма:\n" +
  316.                                     "Справедливая выгода (способность беспристрастно следовать правде, истине в своих поступках и мнениях и в любых обстоятельствах\n" +
  317.                                     "Здоровый оптимизм\n" +
  318.                                     "Справедливое управление");
  319.                                 Console.WriteLine("Деструктивная форма:\n" +
  320.                                     "Корыстный расчет\n" +
  321.                                     "Азарт (предвосхищение успеха, не обязательно связанное с реальностью)\n" +
  322.                                     "Проявление нетерпимости\n" +
  323.                                     "Карьеризм (эгоистичное стремление к должностному продвижению, готовность \"идти по головам\")");
  324.                                 break;
  325.  
  326.                             case MenuActions4:
  327.                                 Console.WriteLine("Конструктивная форма:\n" +
  328.                                     "Креативные честные действия\n" +
  329.                                     "Выносливость\n" +
  330.                                     "Преданность\n" +
  331.                                     "Организованность\n" +
  332.                                     "Уверенность и определенность в действиях\n" +
  333.                                     "Помощь в достижении целей другим людям\n" +
  334.                                     "Передача знаний");
  335.                                 Console.WriteLine("Деструктивная форма:\n" +
  336.                                     "Мошеннические действия (злоупотребление доверием людей в корыстных целях\n" +
  337.                                     "Склонность к насилию и жестокости\n" +
  338.                                     "Неудовлетворенность/пессимизм\n" +
  339.                                     "Чрезмерная суетливость или бездействие\n" +
  340.                                     "Использование людей для достижения собственных целей");
  341.                                 break;
  342.  
  343.                             case MenuActions5:
  344.                                 Console.WriteLine("Конструктивная форма:\n" +
  345.                                     "Высокая коммуникация\n" +
  346.                                     "Масштабирование\n" +
  347.                                     "Активность и разнообразие\n" +
  348.                                     "Создание возможностей для других людей\n" +
  349.                                     "Действия, приносящие пользу другим людям");
  350.                                 Console.WriteLine("Деструктивная форма:\n" +
  351.                                     "Борьба и несогласие (первое слово \"нет\"\n" +
  352.                                     "Антисоциальное поведение\n" +
  353.                                     "Непостоянство\n" +
  354.                                     "Обидчивость\n" +
  355.                                     "Жестокость\n" +
  356.                                     "Рассчетливые действия (стремление получить пользу и выгоду для себя, спекуляция");
  357.                                 break;
  358.  
  359.                             case MenuActions6:
  360.                                 Console.WriteLine("Конструктивная форма:\n" +
  361.                                     "Творческие действия\n" +
  362.                                     "Действия, направленные на создание комфорта для другого человека\n" +
  363.                                     "Способность сочувствовать и сопереживать");
  364.                                 Console.WriteLine("Деструктивная форма:\n" +
  365.                                     "Месть\n" +
  366.                                     "Преступные действия\n" +
  367.                                     "Депрессия и страдания из-за любви\n" +
  368.                                     "Ревность и подозрительность");
  369.                                 break;
  370.  
  371.                             case MenuActions7:
  372.                                 Console.WriteLine("Конструктивная форма:\n" +
  373.                                     "Дисциплина ума и тела\n" +
  374.                                     "Кризис менеджмента (действия, направленные на спасение ситуации, выведение из кризиса других людей/компании/организации)");
  375.                                 Console.WriteLine("Деструктивная форма:\n" +
  376.                                     "Создание кризиса себе и окружающим\n" +
  377.                                     "Чрезмерная прямолинейность в поведении\n" +
  378.                                     "Быстрые необоснованные действия\n" +
  379.                                     "Проявление сверхэгоизма");
  380.                                 break;
  381.  
  382.                             case MenuActions8:
  383.                                 Console.WriteLine("Конструктивная форма:\n" +
  384.                                     "Высокая работоспособность\n" +
  385.                                     "Действия, направленные на доведение до результата другого человека\n" +
  386.                                     "Способность себя обеспечивать материально\n" +
  387.                                     "Высокая организованность в работе");
  388.                                 Console.WriteLine("Деструктивная форма:\n" +
  389.                                     "Отшельничество (отречение по различным убеждениям от мирской жизни, тунеядство - склонность жить за чужой счет, чужим трудом\n" +
  390.                                     "Жизнь за чужой счет\n" +
  391.                                     "Тотальный контроль\n" +
  392.                                     "Одержимость материальными благами\n" +
  393.                                     "Закрытость, замкнутость, сухость в общении");
  394.                                 break;
  395.  
  396.                             case MenuActions9:
  397.                                 Console.WriteLine("Конструктивная форма:\n" +
  398.                                     "Труд, приносящий пользу обществу\n" +
  399.                                     "Оказание помощи без ожидания благодарности");
  400.                                 Console.WriteLine("Деструктивная форма:\n" +
  401.                                     "Самоедство\n" +
  402.                                     "Погоня за легкими деньгами\n" +
  403.                                     "Эмоциональные действия (эмоциональное выгорание)");
  404.                                 break;
  405.                         }
  406.                        
  407.                         Console.ReadKey();
  408.                         break;
  409.  
  410.                     default:
  411.                         Console.WriteLine("Неизвестная операция.");
  412.                         break;
  413.                 }
  414.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement