Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.Design;
- using MenuSystem;
- namespace ConsoleApp
- {
- class Program
- {
- private static double CalculatorCurrentDisplay = 0.0;
- static void Main(string[] args)
- {
- Console.Clear();
- var mainMenu = new Menu("Calculator Main", EMenuLevel.Root);
- mainMenu.AddMenuItems(new List<MenuItem>()
- {
- new MenuItem("A", "Binary operations", SubmenuBinary),
- new MenuItem("S", "Unary operations", SubmenuUnary),
- });
- mainMenu.Run();
- }
- public static string MethodA()
- {
- Console.WriteLine("Method A!!!!!");
- return "";
- }
- public static string SubmenuBinary()
- {
- var menu = new Menu("Binary", EMenuLevel.First);
- menu.AddMenuItems(new List<MenuItem>()
- {
- new MenuItem("+", "+", Add),
- new MenuItem("-", "-", Subtract),
- new MenuItem("/", "/", Divide),
- new MenuItem("*", "*", Multiplication),
- });
- var res = menu.Run();
- return res;
- }
- public static string Add()
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("plus");
- Console.Write("number: ");
- var n = Console.ReadLine()?.Trim();
- double.TryParse(n, out var converted);
- CalculatorCurrentDisplay = CalculatorCurrentDisplay + converted;
- return "";
- }
- public static string Subtract() //Minuse
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("minuse");
- Console.Write("number: ");
- var n = Console.ReadLine()?.Trim();
- double.TryParse(n, out var converted);
- CalculatorCurrentDisplay = CalculatorCurrentDisplay - converted;
- return "";
- }
- public static string Divide() //Деление
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("divide");
- Console.Write("number: ");
- var n = Console.ReadLine()?.Trim();
- double.TryParse(n, out var converted);
- CalculatorCurrentDisplay = CalculatorCurrentDisplay / converted;
- return "";
- }
- public static string Multiplication() //Умножение
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("multiplication");
- Console.Write("number: ");
- var n = Console.ReadLine()?.Trim();
- double.TryParse(n, out var converted);
- CalculatorCurrentDisplay = CalculatorCurrentDisplay * converted;
- return "";
- }
- public static string X_power_Y() //x в степени y
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("X_power_Y");
- Console.Write("number: ");
- var n = Console.ReadLine()?.Trim();
- double.TryParse(n, out var converted);
- CalculatorCurrentDisplay = Math.Pow(CalculatorCurrentDisplay,converted);
- return "";
- }
- public static string SubmenuUnary()
- {
- var menu = new Menu("Unary", EMenuLevel.First);
- menu.AddMenuItems(new List<MenuItem>()
- {
- new MenuItem("Negate", "Negate", Negative),
- new MenuItem("Square", "Square", Square),
- new MenuItem("Root", "Root", Root),
- });
- var res = menu.Run();
- return res;
- }
- public static string Negative() //Негативное число
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("negative");
- Console.Write("number: ");
- CalculatorCurrentDisplay = CalculatorCurrentDisplay * (-1);
- return "";
- }
- public static string Square() //Возводим в квадрат
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("square");
- Console.Write("number: ");
- CalculatorCurrentDisplay = CalculatorCurrentDisplay * CalculatorCurrentDisplay;
- return "";
- }
- public static string Root() //Корень
- {
- // CalculatorCurrentDisplay
- Console.WriteLine("Current value: " + CalculatorCurrentDisplay);
- Console.WriteLine("Sqrt");
- Console.Write("number: ");
- CalculatorCurrentDisplay = Math.Sqrt(CalculatorCurrentDisplay);
- return "";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement