EmoRz

VotingSystem

Sep 12th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.87 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Delegates
  6. {
  7.     class Program
  8.     {
  9.         const byte all = 33;
  10.  
  11.         static void Main(string[] args)
  12.         {
  13.             List<string> kvorum = new List<string>();
  14.             string[] toName =
  15.          {    "Ахтер Исметов Чилев", "Божинел Василев Христов", "Валентина Маркова Френкева", "Веселин Валентинов Спасов",
  16.              "Владимир Димитров Димитров", "Галин Пенчев Парашкевов", "Гюлвер Исмаил Хасан", "Джипо Николов Джипов", "Диана Добромирова Мирчева",
  17.              "Елка Александрова Неделчева", "Емине Бейти Хасан", "Иво Борисов Димитров", "Илия Христов Илиев", "Калоян Руменов Монев",
  18.              "Левент Али Апти", "Мануел Василев Чутурков", "Марина Петрова Христова", "Мариан Пламенов Иванов", "Милена Дачева Орешкова",
  19.              "Митко Иванов Ханчев", "Надежда Радославова Димитрова", "Наско Стоилов Анастасов", "Радиана Ангелова Димитрова",
  20.              "Рейхан Ридван Вели", "Светослав Теофилов Банков", "Стефан Димов Стефанов", "Стоян Димитров Ненчев", "Таня Петрова Тодорова",
  21.              "Фатме Зелкиф Емин", "Фатме Селим Али","ХамиИбрахимовХамиев", "Хасан Халилов Хасанов", "Янка Трифонова Георгиева"
  22.         };
  23.             List<string> take = toName.ToList();
  24.             byte count = 0;
  25.             //Kvorum => string za potvyrjdenie => Tuk
  26.             for (int person = 0; person < all; person++)
  27.             {
  28.                 Console.Write(toName[person] + " => ");
  29.                 var checking = Console.ReadLine();
  30.                 Console.WriteLine(checking);
  31.          
  32.                 if (checking == "tuk")
  33.                 {
  34.                     count++;                    
  35.                     kvorum.Add($"Ном. Кворум {count} => "+toName[person]);
  36.                     take.Remove(toName[person]);
  37.                    
  38.                 }
  39.             }
  40.             var result = kvorum.Count > 16 ? "Има кворум" : $"Няма кворум, нужни са още {16-kvorum.Count} гласа!";
  41.             Console.WriteLine($"Гласували общо: {count}");
  42.             Console.WriteLine($"{result}");
  43.             Console.WriteLine($"Присъстват следните съветници => \n"+string.Join("\n", kvorum));
  44.             Console.WriteLine($"Отсъстват следните съветници =>");
  45.             var countMising = 1;
  46.             for (int i = 0; i < take.Count; i++)
  47.             {
  48.                 Console.WriteLine($"{countMising++} => {take[i]}");
  49.             }
  50.          
  51.  
  52.             Dictionary<byte, string> positive = new Dictionary<byte, string>();
  53.             Dictionary<byte, string> negative = new Dictionary<byte, string>();
  54.             Dictionary<byte, string> neutral = new Dictionary<byte, string>();
  55.            
  56.             byte a = 1;
  57.             byte b = 1;
  58.             byte c = 1;
  59.  
  60.             if (/*kvorum.Count + take.Count == all &&*/ kvorum.Count > 16)
  61.             {
  62.                 Console.WriteLine("Заседанието има кворум и докладните могат да се гласуват!");
  63.                 //работи се с лист от кворума => приема се до доказване на противното,
  64.                 //че за да се приеме докладна трябва да има >50% от гласовете на делегатите.
  65.                 Console.WriteLine("Желате ли да започнете гласуването? Yes/No");
  66.                 var askAction = Console.ReadLine();
  67.                 while (askAction != "No")
  68.                 {
  69.                     for (int i = 0; i < kvorum.Count; i++)
  70.                     {
  71.                         Console.Write(kvorum[i] + " => ");
  72.                         var voting = Console.ReadLine();
  73.                         Console.WriteLine(voting);
  74.                         if (voting == "z")
  75.                         {
  76.                             positive.Add(a, kvorum[i]);
  77.                         }
  78.                         else if (voting == "p")
  79.                         {
  80.                             negative.Add(b, kvorum[i]);
  81.                         }
  82.                         else if (voting == "v")
  83.                         {
  84.                             neutral.Add(c, kvorum[i]);
  85.                         }
  86.                         else
  87.                         {
  88.                             continue;
  89.                         }
  90.                         a++;
  91.                         b++;
  92.                         c++;
  93.                        
  94.                     }
  95.                     Console.WriteLine("Резултат от гласуването =>");
  96.                     Console.WriteLine("За");
  97.                     foreach (var za in positive)
  98.                     {
  99.                         Console.Write($"{za.Key} поредност на вота => ");
  100.                         foreach (var item in za.Value)
  101.                         {
  102.                             Console.Write($"{item}");
  103.                         }
  104.                         Console.WriteLine();
  105.                     }
  106.                     Console.WriteLine("Против");
  107.                     foreach (var protiv in negative)
  108.                     {
  109.                         Console.Write($"{protiv.Key} поредност на вота => ");
  110.                         foreach (var item in protiv.Value)
  111.                         {
  112.                             Console.Write(item);
  113.                         }
  114.                         Console.WriteLine();
  115.                     }
  116.                     Console.WriteLine("Въздържал се");
  117.                     foreach (var pass in neutral)
  118.                     {
  119.                         Console.Write($"{pass.Key} поредност на вота => ");
  120.                         foreach (var item in pass.Value)
  121.                         {
  122.                             Console.Write(item);
  123.                         }
  124.                         Console.WriteLine();
  125.                     }
  126.                     var isOk = positive.Count() > kvorum.Count / 2;
  127.                     if (isOk)
  128.                     {
  129.                         Console.WriteLine("Докладната се приема!");
  130.                         Console.WriteLine(positive.Count()+" ЗА");
  131.                         Console.WriteLine(negative.Count() + " Против");
  132.                         Console.WriteLine(neutral.Count() + " Въздържал се");
  133.  
  134.                     }
  135.                     else
  136.                     {
  137.                         Console.WriteLine("Докладната се отхвърля!");
  138.                         Console.WriteLine(positive.Count() + " ЗА");
  139.                         Console.WriteLine(negative.Count() + " Против");
  140.                         Console.WriteLine(neutral.Count() + " Въздържал се");
  141.  
  142.                     }
  143.                     Console.WriteLine("Желате ли да започнете гласуването? Yes/No");
  144.                     positive.Clear();
  145.                     neutral.Clear();
  146.                     negative.Clear();
  147.                     askAction = Console.ReadLine();
  148.                 }
  149.                
  150.             }
  151.  
  152.             Console.ReadKey();
  153.  
  154.         }
  155.     }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment