diff --git a/Calculator.slnx b/Calculator.slnx
new file mode 100644
index 00000000..7762ed39
--- /dev/null
+++ b/Calculator.slnx
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Calculator/Calculator.csproj b/Calculator/Calculator.csproj
new file mode 100644
index 00000000..14d4a764
--- /dev/null
+++ b/Calculator/Calculator.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/Calculator/Program.cs b/Calculator/Program.cs
new file mode 100644
index 00000000..7aed230d
--- /dev/null
+++ b/Calculator/Program.cs
@@ -0,0 +1,149 @@
+using System.Text.RegularExpressions;
+using CalculatorLibrary;
+using Menu;
+
+class Program
+{
+ static void Main(string[] args)
+ {
+ // Declare variables to run the app
+ bool endApp = false;
+ int cntUsing = 0;
+ double ans = 0;
+ List history = new List();
+
+ // Display title as the C# console calculator app
+ Console.WriteLine("Console Calculator in C#\r");
+ Console.WriteLine("------------------------\n");
+
+ Calculator calculator = new Calculator();
+
+ while (!endApp)
+ {
+ cntUsing++;
+ int menuChoice = Menu.Menu.ShowMenu();
+
+ switch (menuChoice)
+ {
+ case 1: // New calculation
+ // Declare variables and set to empty
+ // Use Nullable types (with ?) wo match type of System.Console.ReadLine
+ string? numInput1 = "";
+ string? numInput2 = "";
+ double result = 0;
+
+ // Ask the user to type the first number
+ Console.Write("Type a number, and then press Enter: ");
+ numInput1 = Console.ReadLine();
+
+ double cleanNum1 = 0;
+ while (!double.TryParse(numInput1, out cleanNum1))
+ {
+ if (numInput1.ToLower().Equals("ans"))
+ {
+ cleanNum1 = ans;
+ break;
+ }
+ Console.Write("This is not a valid input. Please enter a numeric value: ");
+ numInput1 = Console.ReadLine();
+ }
+
+ // Ask the user to choose an operator
+ Console.WriteLine("Choose an operator from the following list:");
+ Console.WriteLine("\ta - Add");
+ Console.WriteLine("\ts - Subtract");
+ Console.WriteLine("\tm - Multiply");
+ Console.WriteLine("\td - Divide");
+ Console.WriteLine("\tsq - Square Root");
+ Console.WriteLine("\tp - Power");
+ Console.WriteLine("\te - 10x");
+ Console.WriteLine("\tt - Trigonmetric functions");
+ Console.Write("Your option? ");
+
+ string? op = Console.ReadLine();
+
+ // Validate input is not null, and matches the pattern
+ if (op == null || !Regex.IsMatch(op, "[a|s|m|d|sq|p|e|t]"))
+ {
+ Console.WriteLine("Error: Unrecognized input.");
+ }
+ else
+ {
+ double cleanNum2 = 0;
+ int functionChoice = 0;
+ if (op.Equals("t"))
+ {
+ Console.WriteLine("Type a number, then press Enter to choose: ");
+ Console.WriteLine("\t1. Sine");
+ Console.WriteLine("\t2. Cosine");
+ Console.WriteLine("\t3. Tangent");
+ Console.WriteLine("\t4. Cotangent");
+ string? functionInput = Console.ReadLine();
+ while (!int.TryParse(functionInput, out functionChoice) || functionChoice < 1 || functionChoice > 4)
+ {
+ Console.Write("This is not a valid input. Please enter a number from 1 to 3: ");
+ functionInput = Console.ReadLine();
+ }
+ }
+ else if (!op.Equals("sq") && !op.Equals("e"))
+ {
+ // Ask the user to type the second number
+ Console.Write("Type another number, and then press Enter: ");
+ numInput2 = Console.ReadLine();
+
+ while (!double.TryParse(numInput2, out cleanNum2))
+ {
+ if (numInput2.ToLower().Equals("ans"))
+ {
+ cleanNum2 = ans;
+ break;
+ }
+ Console.Write("This is not valid input. Please enter a numeric value: ");
+ numInput2 = Console.ReadLine();
+ }
+ }
+ try
+ {
+ result = calculator.DoOperation(cleanNum1, op, cleanNum2, functionChoice);
+ if (double.IsNaN(result))
+ {
+ Console.WriteLine("This operation will result in a mathematical error.\n");
+ }
+ else
+ {
+ Console.WriteLine("Your result: {0:0.##}\n", result);
+ history.Add(calculator.SetHistoryString(cleanNum1, op, cleanNum2, functionChoice, result));
+ ans = result;
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
+ }
+ }
+ Console.WriteLine("------------------------\n");
+ break;
+ case 2: // Show history
+ Console.WriteLine("Calculation history:");
+ foreach(string s in history)
+ Console.WriteLine(s);
+ Console.WriteLine();
+ break;
+ case 3: // Delete history
+ history.Clear();
+ Console.WriteLine("Calculation history deleted.");
+ break;
+ default:
+ break;
+ }
+
+ // Wait for the user to respond before closing.
+ Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
+ if (Console.ReadLine() == "n") endApp = true;
+ }
+ Console.WriteLine($"You have used the calculator {cntUsing} times.");
+ Console.WriteLine("\n"); // Friendly linespacing.
+ calculator.Finish();
+ return;
+ }
+}
\ No newline at end of file
diff --git a/Calculator/bin/Debug/net9.0/Calculator.deps.json b/Calculator/bin/Debug/net9.0/Calculator.deps.json
new file mode 100644
index 00000000..30260072
--- /dev/null
+++ b/Calculator/bin/Debug/net9.0/Calculator.deps.json
@@ -0,0 +1,71 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v9.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v9.0": {
+ "Calculator/1.0.0": {
+ "dependencies": {
+ "CalculatorLibrary": "1.0.0",
+ "Menu": "1.0.0"
+ },
+ "runtime": {
+ "Calculator.dll": {}
+ }
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "assemblyVersion": "13.0.0.0",
+ "fileVersion": "13.0.4.30916"
+ }
+ }
+ },
+ "CalculatorLibrary/1.0.0": {
+ "dependencies": {
+ "Newtonsoft.Json": "13.0.4"
+ },
+ "runtime": {
+ "CalculatorLibrary.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Menu/1.0.0": {
+ "runtime": {
+ "Menu.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Calculator/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "path": "newtonsoft.json/13.0.4",
+ "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Menu/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Calculator/bin/Debug/net9.0/Calculator.dll b/Calculator/bin/Debug/net9.0/Calculator.dll
new file mode 100644
index 00000000..b1ffcff4
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Calculator.dll differ
diff --git a/Calculator/bin/Debug/net9.0/Calculator.exe b/Calculator/bin/Debug/net9.0/Calculator.exe
new file mode 100644
index 00000000..3160aaae
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Calculator.exe differ
diff --git a/Calculator/bin/Debug/net9.0/Calculator.pdb b/Calculator/bin/Debug/net9.0/Calculator.pdb
new file mode 100644
index 00000000..a62f9182
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Calculator.pdb differ
diff --git a/Calculator/bin/Debug/net9.0/Calculator.runtimeconfig.json b/Calculator/bin/Debug/net9.0/Calculator.runtimeconfig.json
new file mode 100644
index 00000000..0a47295c
--- /dev/null
+++ b/Calculator/bin/Debug/net9.0/Calculator.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net9.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "9.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Calculator/bin/Debug/net9.0/CalculatorLibrary.dll b/Calculator/bin/Debug/net9.0/CalculatorLibrary.dll
new file mode 100644
index 00000000..fdc8e243
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/CalculatorLibrary.dll differ
diff --git a/Calculator/bin/Debug/net9.0/CalculatorLibrary.pdb b/Calculator/bin/Debug/net9.0/CalculatorLibrary.pdb
new file mode 100644
index 00000000..6dc2397e
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/CalculatorLibrary.pdb differ
diff --git a/Calculator/bin/Debug/net9.0/Menu.dll b/Calculator/bin/Debug/net9.0/Menu.dll
new file mode 100644
index 00000000..1de00c77
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Menu.dll differ
diff --git a/Calculator/bin/Debug/net9.0/Menu.pdb b/Calculator/bin/Debug/net9.0/Menu.pdb
new file mode 100644
index 00000000..e844e7da
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Menu.pdb differ
diff --git a/Calculator/bin/Debug/net9.0/Newtonsoft.Json.dll b/Calculator/bin/Debug/net9.0/Newtonsoft.Json.dll
new file mode 100644
index 00000000..5813d8cf
Binary files /dev/null and b/Calculator/bin/Debug/net9.0/Newtonsoft.Json.dll differ
diff --git a/Calculator/bin/Debug/net9.0/calculator.log b/Calculator/bin/Debug/net9.0/calculator.log
new file mode 100644
index 00000000..398f6686
--- /dev/null
+++ b/Calculator/bin/Debug/net9.0/calculator.log
@@ -0,0 +1,3 @@
+Starting Calculator Log
+Started 2/6/2026 3:31:44 PM
+3 / 5 = 0.6
diff --git a/Calculator/bin/Debug/net9.0/calculatorlog.json b/Calculator/bin/Debug/net9.0/calculatorlog.json
new file mode 100644
index 00000000..0c479912
--- /dev/null
+++ b/Calculator/bin/Debug/net9.0/calculatorlog.json
@@ -0,0 +1,16 @@
+{
+ "Operations": [
+ {
+ "Operand1": 90.0,
+ "Operand2": 0.0,
+ "Operation": "Cosine",
+ "Result": -0.4480736255645752
+ },
+ {
+ "Operand1": 30.0,
+ "Operand2": 3201.0,
+ "Operation": "Add",
+ "Result": 3231.0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Calculator/obj/Calculator.csproj.nuget.dgspec.json b/Calculator/obj/Calculator.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..887082a2
--- /dev/null
+++ b/Calculator/obj/Calculator.csproj.nuget.dgspec.json
@@ -0,0 +1,250 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "projectName": "CalculatorLibrary",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.4, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj",
+ "projectName": "Calculator",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj"
+ },
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj": {
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Host.win-x64",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "projectName": "Menu",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Calculator/obj/Calculator.csproj.nuget.g.props b/Calculator/obj/Calculator.csproj.nuget.g.props
new file mode 100644
index 00000000..bd2dc4c7
--- /dev/null
+++ b/Calculator/obj/Calculator.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\Windows 11 Pro\.nuget\packages\
+ PackageReference
+ 7.0.0
+
+
+
+
+
\ No newline at end of file
diff --git a/Calculator/obj/Calculator.csproj.nuget.g.targets b/Calculator/obj/Calculator.csproj.nuget.g.targets
new file mode 100644
index 00000000..35a7576c
--- /dev/null
+++ b/Calculator/obj/Calculator.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfo.cs b/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfo.cs
new file mode 100644
index 00000000..e4bf886c
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+03c03fe0fe75fc873ccb0a3184746ab171295014")]
+[assembly: System.Reflection.AssemblyProductAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Calculator")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfoInputs.cache b/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..35b3cceb
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+8534fc748983578ae0002fac1d7cb562932a9c8deb6361d9b4431e694050f20c
diff --git a/Calculator/obj/Debug/net9.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig b/Calculator/obj/Debug/net9.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..f92fbe2a
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,17 @@
+is_global = true
+build_property.TargetFramework = net9.0
+build_property.TargetFrameworkIdentifier = .NETCoreApp
+build_property.TargetFrameworkVersion = v9.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Calculator
+build_property.ProjectDir = C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 9.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Calculator/obj/Debug/net9.0/Calculator.GlobalUsings.g.cs b/Calculator/obj/Debug/net9.0/Calculator.GlobalUsings.g.cs
new file mode 100644
index 00000000..3bad85ce
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using System;
+global using System.Collections.Generic;
+global using System.IO;
+global using System.Linq;
+global using System.Net.Http;
+global using System.Threading;
+global using System.Threading.Tasks;
diff --git a/Calculator/obj/Debug/net9.0/Calculator.assets.cache b/Calculator/obj/Debug/net9.0/Calculator.assets.cache
new file mode 100644
index 00000000..8a76456a
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/Calculator.assets.cache differ
diff --git a/Calculator/obj/Debug/net9.0/Calculator.csproj.AssemblyReference.cache b/Calculator/obj/Debug/net9.0/Calculator.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..5d9b37f0
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/Calculator.csproj.AssemblyReference.cache differ
diff --git a/Calculator/obj/Debug/net9.0/Calculator.csproj.BuildWithSkipAnalyzers b/Calculator/obj/Debug/net9.0/Calculator.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/Calculator/obj/Debug/net9.0/Calculator.csproj.CoreCompileInputs.cache b/Calculator/obj/Debug/net9.0/Calculator.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..e8e4aee2
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+0477f501fc9e2a1ae3337b8b565a83aa5220b5782a8d0a180e4da09296f758e9
diff --git a/Calculator/obj/Debug/net9.0/Calculator.csproj.FileListAbsolute.txt b/Calculator/obj/Debug/net9.0/Calculator.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..006a6a33
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.csproj.FileListAbsolute.txt
@@ -0,0 +1,22 @@
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Calculator.exe
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Calculator.deps.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Calculator.runtimeconfig.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Calculator.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Calculator.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.AssemblyInfoInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.AssemblyInfo.cs
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.csproj.CoreCompileInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\refint\Calculator.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.genruntimeconfig.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\ref\Calculator.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\CalculatorLibrary.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\CalculatorLibrary.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.csproj.AssemblyReference.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.sourcelink.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\obj\Debug\net9.0\Calculator.csproj.Up2Date
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Newtonsoft.Json.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Menu.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Calculator\bin\Debug\net9.0\Menu.pdb
diff --git a/Calculator/obj/Debug/net9.0/Calculator.csproj.Up2Date b/Calculator/obj/Debug/net9.0/Calculator.csproj.Up2Date
new file mode 100644
index 00000000..e69de29b
diff --git a/Calculator/obj/Debug/net9.0/Calculator.dll b/Calculator/obj/Debug/net9.0/Calculator.dll
new file mode 100644
index 00000000..b1ffcff4
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/Calculator.dll differ
diff --git a/Calculator/obj/Debug/net9.0/Calculator.genruntimeconfig.cache b/Calculator/obj/Debug/net9.0/Calculator.genruntimeconfig.cache
new file mode 100644
index 00000000..e0b17950
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.genruntimeconfig.cache
@@ -0,0 +1 @@
+98cb0d5a6bf802fe47f98875016df9c93e8834b2f17708067da2f1d44c65ec1d
diff --git a/Calculator/obj/Debug/net9.0/Calculator.pdb b/Calculator/obj/Debug/net9.0/Calculator.pdb
new file mode 100644
index 00000000..a62f9182
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/Calculator.pdb differ
diff --git a/Calculator/obj/Debug/net9.0/Calculator.sourcelink.json b/Calculator/obj/Debug/net9.0/Calculator.sourcelink.json
new file mode 100644
index 00000000..3736de19
--- /dev/null
+++ b/Calculator/obj/Debug/net9.0/Calculator.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\*":"https://raw.githubusercontent.com/m1nh4ke/Calculator/8fdfde2eb7938c936f35d5e7b33214f9f8890ee9/*"}}
\ No newline at end of file
diff --git a/Calculator/obj/Debug/net9.0/apphost.exe b/Calculator/obj/Debug/net9.0/apphost.exe
new file mode 100644
index 00000000..3160aaae
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/apphost.exe differ
diff --git a/Calculator/obj/Debug/net9.0/ref/Calculator.dll b/Calculator/obj/Debug/net9.0/ref/Calculator.dll
new file mode 100644
index 00000000..583ea6c2
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/ref/Calculator.dll differ
diff --git a/Calculator/obj/Debug/net9.0/refint/Calculator.dll b/Calculator/obj/Debug/net9.0/refint/Calculator.dll
new file mode 100644
index 00000000..583ea6c2
Binary files /dev/null and b/Calculator/obj/Debug/net9.0/refint/Calculator.dll differ
diff --git a/Calculator/obj/project.assets.json b/Calculator/obj/project.assets.json
new file mode 100644
index 00000000..03cde3a7
--- /dev/null
+++ b/Calculator/obj/project.assets.json
@@ -0,0 +1,180 @@
+{
+ "version": 3,
+ "targets": {
+ "net9.0": {
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v9.0",
+ "dependencies": {
+ "Newtonsoft.Json": "13.0.4"
+ },
+ "compile": {
+ "bin/placeholder/CalculatorLibrary.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/CalculatorLibrary.dll": {}
+ }
+ },
+ "Menu/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v9.0",
+ "compile": {
+ "bin/placeholder/Menu.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Menu.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Newtonsoft.Json/13.0.4": {
+ "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "type": "package",
+ "path": "newtonsoft.json/13.0.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.md",
+ "README.md",
+ "lib/net20/Newtonsoft.Json.dll",
+ "lib/net20/Newtonsoft.Json.xml",
+ "lib/net35/Newtonsoft.Json.dll",
+ "lib/net35/Newtonsoft.Json.xml",
+ "lib/net40/Newtonsoft.Json.dll",
+ "lib/net40/Newtonsoft.Json.xml",
+ "lib/net45/Newtonsoft.Json.dll",
+ "lib/net45/Newtonsoft.Json.xml",
+ "lib/net6.0/Newtonsoft.Json.dll",
+ "lib/net6.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.0/Newtonsoft.Json.dll",
+ "lib/netstandard1.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.3/Newtonsoft.Json.dll",
+ "lib/netstandard1.3/Newtonsoft.Json.xml",
+ "lib/netstandard2.0/Newtonsoft.Json.dll",
+ "lib/netstandard2.0/Newtonsoft.Json.xml",
+ "newtonsoft.json.13.0.4.nupkg.sha512",
+ "newtonsoft.json.nuspec",
+ "packageIcon.png"
+ ]
+ },
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "path": "../CalculatorLibrary/CalculatorLibrary.csproj",
+ "msbuildProject": "../CalculatorLibrary/CalculatorLibrary.csproj"
+ },
+ "Menu/1.0.0": {
+ "type": "project",
+ "path": "../Menu/Menu.csproj",
+ "msbuildProject": "../Menu/Menu.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net9.0": [
+ "CalculatorLibrary >= 1.0.0",
+ "Menu >= 1.0.0"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj",
+ "projectName": "Calculator",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj"
+ },
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj": {
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Host.win-x64",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Calculator/obj/project.nuget.cache b/Calculator/obj/project.nuget.cache
new file mode 100644
index 00000000..32674600
--- /dev/null
+++ b/Calculator/obj/project.nuget.cache
@@ -0,0 +1,14 @@
+{
+ "version": 2,
+ "dgSpecHash": "YYDSmmIBB5s=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Calculator\\Calculator.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\newtonsoft.json\\13.0.4\\newtonsoft.json.13.0.4.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\9.0.12\\microsoft.windowsdesktop.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.netcore.app.ref\\9.0.12\\microsoft.netcore.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\9.0.12\\microsoft.aspnetcore.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.netcore.app.host.win-x64\\9.0.12\\microsoft.netcore.app.host.win-x64.9.0.12.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/CalculatorLibrary/CalculatorLibrary.cs b/CalculatorLibrary/CalculatorLibrary.cs
new file mode 100644
index 00000000..ea206bbf
--- /dev/null
+++ b/CalculatorLibrary/CalculatorLibrary.cs
@@ -0,0 +1,146 @@
+using Newtonsoft.Json;
+using System.Diagnostics;
+using static System.Runtime.InteropServices.JavaScript.JSType;
+
+namespace CalculatorLibrary
+{
+ public class Calculator
+ {
+ JsonWriter writer;
+ public Calculator()
+ {
+ StreamWriter logFile = File.CreateText("calculatorlog.json");
+ logFile.AutoFlush = true;
+ writer = new JsonTextWriter(logFile);
+ writer.Formatting = Formatting.Indented;
+ writer.WriteStartObject();
+ writer.WritePropertyName("Operations");
+ writer.WriteStartArray();
+ }
+
+ public void Finish()
+ {
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ writer.Close();
+ }
+
+ public string SetHistoryString(double num1, string op, double num2, int function, double result)
+ {
+ switch (op)
+ {
+ case "a":
+ return $"{num1} + {num2} = {result}";
+ case "s":
+ return $"{num1} - {num2} = {result}";
+ case "m":
+ return $"{num1} * {num2} = {result}";
+ case "d":
+ return $"{num1} / {num2} = {result}";
+ case "sq":
+ return $"Sqrt({num1}) = {result}";
+ case "p":
+ return $"{num1} ^ {num2} = {result}";
+ case "e":
+ return $"10 ^ {num1} = {result}";
+ case "t":
+ switch (function)
+ {
+ case 1:
+ return $"Sin({num1})= {result}";
+ case 2:
+ return $"Cos({num1})= {result}";
+ case 3:
+ return $"Tan({num1})= {result}";
+ case 4:
+ return $"Cot({num1})= {result}";
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ // Default return
+ return "";
+ }
+
+ public double DoOperation(double num1, string op, double num2 = 0, int function = 0)
+ {
+ double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error
+ writer.WriteStartObject();
+ writer.WritePropertyName("Operand1");
+ writer.WriteValue(num1);
+ writer.WritePropertyName("Operand2");
+ writer.WriteValue(num2);
+ writer.WritePropertyName("Operation");
+ // Use a switch statement to do the math
+ switch (op)
+ {
+ case "a":
+ result = num1 + num2;
+ writer.WriteValue("Add");
+ break;
+ case "s":
+ result = num1 - num2;
+ writer.WriteValue("Subtract");
+ break;
+ case "m":
+ result = num1 * num2;
+ writer.WriteValue("Multiply");
+ break;
+ case "d":
+ // Ask the user to enter a non-zero divisor.
+ if (num2 != 0)
+ {
+ result = num1 / num2;
+ writer.WriteValue("Divide");
+ }
+ break;
+ case "sq":
+ result = Math.Sqrt(num1);
+ writer.WriteValue("Square Root");
+ break;
+ case "p":
+ result = Math.Pow(num1, num2);
+ writer.WriteValue("Power");
+ break;
+ case "e":
+ result = Math.Pow(10, num1);
+ writer.WriteValue("10x");
+ break;
+ case "t":
+ switch (function)
+ {
+ case 1:
+ result = MathF.Sin((float)num1);
+ writer.WriteValue("Sine");
+ break;
+ case 2:
+ result = MathF.Cos((float)num1);
+ writer.WriteValue("Cosine");
+ break;
+ case 3:
+ result = MathF.Tan((float)num1);
+ writer.WriteValue("Tangent");
+ break;
+ case 4:
+ result = 1/MathF.Tan((float)num1);
+ writer.WriteValue("Cotangent");
+ break;
+ default:
+ break;
+ }
+ break;
+ // Return text for an incorrect option entry.
+ default:
+ break;
+ }
+ writer.WritePropertyName("Result");
+ writer.WriteValue(result);
+ writer.WriteEndObject();
+
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CalculatorLibrary/CalculatorLibrary.csproj b/CalculatorLibrary/CalculatorLibrary.csproj
new file mode 100644
index 00000000..c64d43e5
--- /dev/null
+++ b/CalculatorLibrary/CalculatorLibrary.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.deps.json b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.deps.json
new file mode 100644
index 00000000..153d488e
--- /dev/null
+++ b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.deps.json
@@ -0,0 +1,41 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v9.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v9.0": {
+ "CalculatorLibrary/1.0.0": {
+ "dependencies": {
+ "Newtonsoft.Json": "13.0.4"
+ },
+ "runtime": {
+ "CalculatorLibrary.dll": {}
+ }
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "assemblyVersion": "13.0.0.0",
+ "fileVersion": "13.0.4.30916"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "CalculatorLibrary/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "path": "newtonsoft.json/13.0.4",
+ "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.dll b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.dll
new file mode 100644
index 00000000..fdc8e243
Binary files /dev/null and b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.dll differ
diff --git a/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.pdb b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.pdb
new file mode 100644
index 00000000..6dc2397e
Binary files /dev/null and b/CalculatorLibrary/bin/Debug/net9.0/CalculatorLibrary.pdb differ
diff --git a/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.dgspec.json b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..cee4b6bb
--- /dev/null
+++ b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.dgspec.json
@@ -0,0 +1,89 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "projectName": "CalculatorLibrary",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.4, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.props b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.props
new file mode 100644
index 00000000..bd2dc4c7
--- /dev/null
+++ b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\Windows 11 Pro\.nuget\packages\
+ PackageReference
+ 7.0.0
+
+
+
+
+
\ No newline at end of file
diff --git a/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.targets b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.targets
new file mode 100644
index 00000000..35a7576c
--- /dev/null
+++ b/CalculatorLibrary/obj/CalculatorLibrary.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfo.cs b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfo.cs
new file mode 100644
index 00000000..b31b650b
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("CalculatorLibrary")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+03c03fe0fe75fc873ccb0a3184746ab171295014")]
+[assembly: System.Reflection.AssemblyProductAttribute("CalculatorLibrary")]
+[assembly: System.Reflection.AssemblyTitleAttribute("CalculatorLibrary")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfoInputs.cache b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..21a218ad
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+7fdb48d7a2c4756ff5df9a05a122fe07e243f1b7eb0a833a62c349007f5882c5
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GeneratedMSBuildEditorConfig.editorconfig b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..1538a38e
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,17 @@
+is_global = true
+build_property.TargetFramework = net9.0
+build_property.TargetFrameworkIdentifier = .NETCoreApp
+build_property.TargetFrameworkVersion = v9.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = CalculatorLibrary
+build_property.ProjectDir = C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 9.0
+build_property.EnableCodeStyleSeverity =
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GlobalUsings.g.cs b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GlobalUsings.g.cs
new file mode 100644
index 00000000..3bad85ce
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using System;
+global using System.Collections.Generic;
+global using System.IO;
+global using System.Linq;
+global using System.Net.Http;
+global using System.Threading;
+global using System.Threading.Tasks;
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.assets.cache b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.assets.cache
new file mode 100644
index 00000000..037579b9
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.assets.cache differ
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.AssemblyReference.cache b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..47407752
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.AssemblyReference.cache differ
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.BuildWithSkipAnalyzers b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.CoreCompileInputs.cache b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..87b9a37a
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+e25919b3d61de949053123da512c2e63133b14563e0242ee9d2ecded053aef34
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.FileListAbsolute.txt b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..e9135e7c
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.csproj.FileListAbsolute.txt
@@ -0,0 +1,13 @@
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\bin\Debug\net9.0\CalculatorLibrary.deps.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\bin\Debug\net9.0\CalculatorLibrary.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\bin\Debug\net9.0\CalculatorLibrary.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.AssemblyInfoInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.AssemblyInfo.cs
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.csproj.CoreCompileInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.sourcelink.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\refint\CalculatorLibrary.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\ref\CalculatorLibrary.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\CalculatorLibrary\obj\Debug\net9.0\CalculatorLibrary.csproj.AssemblyReference.cache
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.dll b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.dll
new file mode 100644
index 00000000..fdc8e243
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.dll differ
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.pdb b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.pdb
new file mode 100644
index 00000000..6dc2397e
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.pdb differ
diff --git a/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.sourcelink.json b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.sourcelink.json
new file mode 100644
index 00000000..3736de19
--- /dev/null
+++ b/CalculatorLibrary/obj/Debug/net9.0/CalculatorLibrary.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\*":"https://raw.githubusercontent.com/m1nh4ke/Calculator/8fdfde2eb7938c936f35d5e7b33214f9f8890ee9/*"}}
\ No newline at end of file
diff --git a/CalculatorLibrary/obj/Debug/net9.0/ref/CalculatorLibrary.dll b/CalculatorLibrary/obj/Debug/net9.0/ref/CalculatorLibrary.dll
new file mode 100644
index 00000000..ef28432b
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/ref/CalculatorLibrary.dll differ
diff --git a/CalculatorLibrary/obj/Debug/net9.0/refint/CalculatorLibrary.dll b/CalculatorLibrary/obj/Debug/net9.0/refint/CalculatorLibrary.dll
new file mode 100644
index 00000000..ef28432b
Binary files /dev/null and b/CalculatorLibrary/obj/Debug/net9.0/refint/CalculatorLibrary.dll differ
diff --git a/CalculatorLibrary/obj/project.assets.json b/CalculatorLibrary/obj/project.assets.json
new file mode 100644
index 00000000..33aa2d5c
--- /dev/null
+++ b/CalculatorLibrary/obj/project.assets.json
@@ -0,0 +1,141 @@
+{
+ "version": 3,
+ "targets": {
+ "net9.0": {
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Newtonsoft.Json/13.0.4": {
+ "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "type": "package",
+ "path": "newtonsoft.json/13.0.4",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.md",
+ "README.md",
+ "lib/net20/Newtonsoft.Json.dll",
+ "lib/net20/Newtonsoft.Json.xml",
+ "lib/net35/Newtonsoft.Json.dll",
+ "lib/net35/Newtonsoft.Json.xml",
+ "lib/net40/Newtonsoft.Json.dll",
+ "lib/net40/Newtonsoft.Json.xml",
+ "lib/net45/Newtonsoft.Json.dll",
+ "lib/net45/Newtonsoft.Json.xml",
+ "lib/net6.0/Newtonsoft.Json.dll",
+ "lib/net6.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.0/Newtonsoft.Json.dll",
+ "lib/netstandard1.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.3/Newtonsoft.Json.dll",
+ "lib/netstandard1.3/Newtonsoft.Json.xml",
+ "lib/netstandard2.0/Newtonsoft.Json.dll",
+ "lib/netstandard2.0/Newtonsoft.Json.xml",
+ "newtonsoft.json.13.0.4.nupkg.sha512",
+ "newtonsoft.json.nuspec",
+ "packageIcon.png"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net9.0": [
+ "Newtonsoft.Json >= 13.0.4"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "projectName": "CalculatorLibrary",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.4, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/CalculatorLibrary/obj/project.nuget.cache b/CalculatorLibrary/obj/project.nuget.cache
new file mode 100644
index 00000000..1756aa4b
--- /dev/null
+++ b/CalculatorLibrary/obj/project.nuget.cache
@@ -0,0 +1,13 @@
+{
+ "version": 2,
+ "dgSpecHash": "HxDFAmNryEk=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\CalculatorLibrary\\CalculatorLibrary.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\newtonsoft.json\\13.0.4\\newtonsoft.json.13.0.4.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\9.0.12\\microsoft.windowsdesktop.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.netcore.app.ref\\9.0.12\\microsoft.netcore.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\9.0.12\\microsoft.aspnetcore.app.ref.9.0.12.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/Menu/Menu.cs b/Menu/Menu.cs
new file mode 100644
index 00000000..3a2323ff
--- /dev/null
+++ b/Menu/Menu.cs
@@ -0,0 +1,22 @@
+namespace Menu
+{
+ public class Menu
+ {
+ public static int ShowMenu()
+ {
+ Console.WriteLine("Type a number, then press Enter to choose: ");
+ Console.WriteLine("\t1. New calculation");
+ Console.WriteLine("\t2. Show history.");
+ Console.WriteLine("\t3. Delete history.");
+
+ string? menuInput = Console.ReadLine();
+ int menuChoice = 0;
+ while(!int.TryParse(menuInput, out menuChoice) || menuChoice < 1 || menuChoice > 3)
+ {
+ Console.Write("This is not a valid input. Please enter a number from 1 to 3: ");
+ menuInput = Console.ReadLine();
+ }
+ return menuChoice;
+ }
+ }
+}
diff --git a/Menu/Menu.csproj b/Menu/Menu.csproj
new file mode 100644
index 00000000..cdc91ea9
--- /dev/null
+++ b/Menu/Menu.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
diff --git a/Menu/bin/Debug/net9.0/Menu.deps.json b/Menu/bin/Debug/net9.0/Menu.deps.json
new file mode 100644
index 00000000..7543568c
--- /dev/null
+++ b/Menu/bin/Debug/net9.0/Menu.deps.json
@@ -0,0 +1,23 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v9.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v9.0": {
+ "Menu/1.0.0": {
+ "runtime": {
+ "Menu.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Menu/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Menu/bin/Debug/net9.0/Menu.dll b/Menu/bin/Debug/net9.0/Menu.dll
new file mode 100644
index 00000000..1de00c77
Binary files /dev/null and b/Menu/bin/Debug/net9.0/Menu.dll differ
diff --git a/Menu/bin/Debug/net9.0/Menu.pdb b/Menu/bin/Debug/net9.0/Menu.pdb
new file mode 100644
index 00000000..e844e7da
Binary files /dev/null and b/Menu/bin/Debug/net9.0/Menu.pdb differ
diff --git a/Menu/obj/Debug/net9.0/Menu.AssemblyInfo.cs b/Menu/obj/Debug/net9.0/Menu.AssemblyInfo.cs
new file mode 100644
index 00000000..3c4d30e5
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Menu")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+03c03fe0fe75fc873ccb0a3184746ab171295014")]
+[assembly: System.Reflection.AssemblyProductAttribute("Menu")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Menu")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/Menu/obj/Debug/net9.0/Menu.AssemblyInfoInputs.cache b/Menu/obj/Debug/net9.0/Menu.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..b797de3a
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+5e6098b6fd2bcbb50c8f72a3e4f3f4a8d471b8b8e288adb734535f799a3091d2
diff --git a/Menu/obj/Debug/net9.0/Menu.GeneratedMSBuildEditorConfig.editorconfig b/Menu/obj/Debug/net9.0/Menu.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..d8aa2d23
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,17 @@
+is_global = true
+build_property.TargetFramework = net9.0
+build_property.TargetFrameworkIdentifier = .NETCoreApp
+build_property.TargetFrameworkVersion = v9.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Menu
+build_property.ProjectDir = C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 9.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Menu/obj/Debug/net9.0/Menu.GlobalUsings.g.cs b/Menu/obj/Debug/net9.0/Menu.GlobalUsings.g.cs
new file mode 100644
index 00000000..3bad85ce
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using System;
+global using System.Collections.Generic;
+global using System.IO;
+global using System.Linq;
+global using System.Net.Http;
+global using System.Threading;
+global using System.Threading.Tasks;
diff --git a/Menu/obj/Debug/net9.0/Menu.assets.cache b/Menu/obj/Debug/net9.0/Menu.assets.cache
new file mode 100644
index 00000000..d3d92e5b
Binary files /dev/null and b/Menu/obj/Debug/net9.0/Menu.assets.cache differ
diff --git a/Menu/obj/Debug/net9.0/Menu.csproj.BuildWithSkipAnalyzers b/Menu/obj/Debug/net9.0/Menu.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/Menu/obj/Debug/net9.0/Menu.csproj.CoreCompileInputs.cache b/Menu/obj/Debug/net9.0/Menu.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..348a3563
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+dec4a23915bd6344371783830811b6301bbfd6dfe53c5f3831f6fbdb186cf8dc
diff --git a/Menu/obj/Debug/net9.0/Menu.csproj.FileListAbsolute.txt b/Menu/obj/Debug/net9.0/Menu.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..0782eece
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.csproj.FileListAbsolute.txt
@@ -0,0 +1,12 @@
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\bin\Debug\net9.0\Menu.deps.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\bin\Debug\net9.0\Menu.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\bin\Debug\net9.0\Menu.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.AssemblyInfoInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.AssemblyInfo.cs
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.csproj.CoreCompileInputs.cache
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.sourcelink.json
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\refint\Menu.dll
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\Menu.pdb
+C:\Users\Windows 11 Pro\source\repos\Calculator\Menu\obj\Debug\net9.0\ref\Menu.dll
diff --git a/Menu/obj/Debug/net9.0/Menu.dll b/Menu/obj/Debug/net9.0/Menu.dll
new file mode 100644
index 00000000..1de00c77
Binary files /dev/null and b/Menu/obj/Debug/net9.0/Menu.dll differ
diff --git a/Menu/obj/Debug/net9.0/Menu.pdb b/Menu/obj/Debug/net9.0/Menu.pdb
new file mode 100644
index 00000000..e844e7da
Binary files /dev/null and b/Menu/obj/Debug/net9.0/Menu.pdb differ
diff --git a/Menu/obj/Debug/net9.0/Menu.sourcelink.json b/Menu/obj/Debug/net9.0/Menu.sourcelink.json
new file mode 100644
index 00000000..3736de19
--- /dev/null
+++ b/Menu/obj/Debug/net9.0/Menu.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\*":"https://raw.githubusercontent.com/m1nh4ke/Calculator/8fdfde2eb7938c936f35d5e7b33214f9f8890ee9/*"}}
\ No newline at end of file
diff --git a/Menu/obj/Debug/net9.0/ref/Menu.dll b/Menu/obj/Debug/net9.0/ref/Menu.dll
new file mode 100644
index 00000000..109d9d71
Binary files /dev/null and b/Menu/obj/Debug/net9.0/ref/Menu.dll differ
diff --git a/Menu/obj/Debug/net9.0/refint/Menu.dll b/Menu/obj/Debug/net9.0/refint/Menu.dll
new file mode 100644
index 00000000..109d9d71
Binary files /dev/null and b/Menu/obj/Debug/net9.0/refint/Menu.dll differ
diff --git a/Menu/obj/Menu.csproj.nuget.dgspec.json b/Menu/obj/Menu.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..0002c403
--- /dev/null
+++ b/Menu/obj/Menu.csproj.nuget.dgspec.json
@@ -0,0 +1,83 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "projectName": "Menu",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Menu/obj/Menu.csproj.nuget.g.props b/Menu/obj/Menu.csproj.nuget.g.props
new file mode 100644
index 00000000..bd2dc4c7
--- /dev/null
+++ b/Menu/obj/Menu.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\Windows 11 Pro\.nuget\packages\
+ PackageReference
+ 7.0.0
+
+
+
+
+
\ No newline at end of file
diff --git a/Menu/obj/Menu.csproj.nuget.g.targets b/Menu/obj/Menu.csproj.nuget.g.targets
new file mode 100644
index 00000000..35a7576c
--- /dev/null
+++ b/Menu/obj/Menu.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Menu/obj/project.assets.json b/Menu/obj/project.assets.json
new file mode 100644
index 00000000..81b33ea0
--- /dev/null
+++ b/Menu/obj/project.assets.json
@@ -0,0 +1,88 @@
+{
+ "version": 3,
+ "targets": {
+ "net9.0": {}
+ },
+ "libraries": {},
+ "projectFileDependencyGroups": {
+ "net9.0": []
+ },
+ "packageFolders": {
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "projectName": "Menu",
+ "projectPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "packagesPath": "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\Windows 11 Pro\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net9.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net9.0": {
+ "targetAlias": "net9.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[9.0.12, 9.0.12]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Menu/obj/project.nuget.cache b/Menu/obj/project.nuget.cache
new file mode 100644
index 00000000..81581a9c
--- /dev/null
+++ b/Menu/obj/project.nuget.cache
@@ -0,0 +1,12 @@
+{
+ "version": 2,
+ "dgSpecHash": "jF5MKEZnz+o=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\Windows 11 Pro\\source\\repos\\Calculator\\Menu\\Menu.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\9.0.12\\microsoft.windowsdesktop.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.netcore.app.ref\\9.0.12\\microsoft.netcore.app.ref.9.0.12.nupkg.sha512",
+ "C:\\Users\\Windows 11 Pro\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\9.0.12\\microsoft.aspnetcore.app.ref.9.0.12.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file