ZazoTazo

Lab6-3

Nov 11th, 2020
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.72 KB | None | 0 0
  1. //menu with more than one employee (struct)
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Project_3
  9. {
  10.     struct Employee
  11.     {
  12.         public string eName;
  13.         public int eID, eSalary;
  14.  
  15.         public Employee(string name, int id, int salary)
  16.         {
  17.             eName = name;
  18.             eID = id;
  19.             eSalary = salary;
  20.         }
  21.  
  22.         //public void displayInfo()
  23.         //{
  24.         //    Console.WriteLine("Employee ID: {0}\nEmployee Name: {1}\nEmployee Salary: {2}", eID, eName, eSalary);
  25.         //}
  26.     }
  27.  
  28.     class Program
  29.     {
  30.         private static int index = 0;
  31.         static List<Employee> employees = new List<Employee>();
  32.  
  33.         static void Main(string[] args)
  34.         {
  35.             List<string> menuItems = new List<string>() { "New", "Display", "Exit" };
  36.  
  37.             Console.CursorVisible = false;
  38.  
  39.             while (true)
  40.             {
  41.                 string selectedMenuItem = drawMenu(menuItems);
  42.                 if (selectedMenuItem == "New")
  43.                 {
  44.                     Console.Clear();
  45.                     newEmployee();
  46.                 }
  47.                 else if (selectedMenuItem == "Display")
  48.                 {
  49.                     Console.Clear();
  50.                     displayEmployee();
  51.                 }
  52.                 else if (selectedMenuItem == "Exit")
  53.                 {
  54.                     Environment.Exit(0);
  55.                 }
  56.             }
  57.         }
  58.  
  59.         private static string drawMenu(List<string> items)
  60.         {
  61.             for (int i = 0; i < items.Count; i++)
  62.             {
  63.                 if (i == index)
  64.                 {
  65.                     Console.BackgroundColor = ConsoleColor.Gray;
  66.                     Console.ForegroundColor = ConsoleColor.Black;
  67.                     Console.WriteLine(items[i]);
  68.                 }
  69.                 else
  70.                 {
  71.                     Console.WriteLine(items[i]);
  72.                 }
  73.                 Console.ResetColor();
  74.             }
  75.  
  76.             ConsoleKeyInfo ckey = Console.ReadKey();
  77.  
  78.             if (ckey.Key == ConsoleKey.DownArrow)
  79.             {
  80.                 if (index == items.Count - 1)
  81.                 {
  82.                     //index = 0;
  83.                 }
  84.                 else
  85.                 {
  86.                     index++;
  87.                 }
  88.             }
  89.             else if (ckey.Key == ConsoleKey.UpArrow)
  90.             {
  91.                 if (index <= 0)
  92.                 {
  93.                     //index = menuItems.count - 1;
  94.                 }
  95.                 else
  96.                 {
  97.                     index--;
  98.                 }
  99.             }
  100.             else if (ckey.Key == ConsoleKey.Enter)
  101.             {
  102.                 return items[index];
  103.             }
  104.             else
  105.             {
  106.                 return "";
  107.             }
  108.  
  109.             Console.Clear();
  110.             return "";
  111.         }
  112.  
  113.         static void newEmployee()
  114.         {
  115.             string name;
  116.             int id, salary;
  117.             Console.WriteLine("Enter employee information.");
  118.             Console.Write("ID: "); id = int.Parse(Console.ReadLine());
  119.             Console.Write("Name: "); name = Console.ReadLine();
  120.             Console.Write("Salary: "); salary = int.Parse(Console.ReadLine());
  121.  
  122.             Employee e = new Employee(name, id, salary);
  123.             employees.Add(e);
  124.         }
  125.  
  126.         static void displayEmployee()
  127.         {
  128.             foreach (var employee in employees)
  129.             {
  130.                 Console.WriteLine("Employee ID: {0}\nEmployee Name: {1}\nEmployee Salary: {2}\n", employee.eID, employee.eName, employee.eSalary);
  131.             }
  132.         }
  133.     }
  134. }
  135.  
Add Comment
Please, Sign In to add comment