Guest User

Untitled

a guest
Sep 30th, 2023
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.11 KB | None | 0 0
  1. using Newtonsoft.Json;
  2.  
  3. namespace CalculatorLibrary
  4. {
  5.     public class Calculator
  6.     {
  7.         JsonWriter writer;
  8.  
  9.         public Calculator()
  10.         {
  11.             StreamWriter logFile = File.CreateText("calculatorlog.json");
  12.             logFile.AutoFlush = true;
  13.             writer = new JsonTextWriter(logFile);
  14.             writer.Formatting = Formatting.Indented;
  15.             writer.WriteStartObject();
  16.             writer.WritePropertyName("Usage");
  17.             writer.WriteValue(0);
  18.             writer.WritePropertyName("Operations");
  19.             writer.WriteStartArray();
  20.         }
  21.  
  22.         public double DoOperation(double num1, double num2, string op)
  23.         {
  24.             double result = double.NaN;
  25.             writer.WriteStartObject();
  26.             writer.WritePropertyName("Operand1");
  27.             writer.WriteValue(num1);
  28.             writer.WritePropertyName("Operand2");
  29.             writer.WriteValue(num2);
  30.             writer.WritePropertyName("Operation");
  31.            
  32.             switch (op)
  33.             {
  34.                 case "a":
  35.                     result = num1 + num2;
  36.                     writer.WriteValue("Add");
  37.                     break;
  38.                 case "s":
  39.                     result = num1 - num2;
  40.                     writer.WriteValue("Subtract");
  41.                     break;
  42.                 case "m":
  43.                     result = num1 * num2;
  44.                     writer.WriteValue("Multiply");
  45.                     break;
  46.                 case "d":
  47.                     if (num2 != 0)
  48.                     {
  49.                         result = num1 / num2;
  50.                     }
  51.                     writer.WriteValue("Divide");
  52.                     break;
  53.                
  54.                 default:
  55.                     break;
  56.             }
  57.             writer.WritePropertyName("Result");
  58.             writer.WriteValue(result);
  59.             writer.WriteEndObject();
  60.             return result;
  61.         }
  62.  
  63.         public void Finish()
  64.         {
  65.             writer.WriteEndArray();
  66.             writer.WriteEndObject();
  67.             writer.Close();
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment