Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Calculator
- {
- class Program
- {
- static void Main(string[] args)
- {
- Main:
- int i = 0, j = 0;
- string[] numbers = new string[122];
- double num = 0;
- string value;
- ///////////////////////////////////////////////
- Console.Write("Enter: ");
- value = Console.ReadLine();
- ///////////////////////////////////////////////
- if (isValid(value))
- {
- Error("Syntax ERROR");
- goto Main;
- }
- else if (value[value.Length - 1] != '=')
- {
- Error("Please enter equal char");
- goto Main;
- }
- ///////////////////////////////////////////////
- for (i = 0; i < value.Length; i++)
- numbers[i] += value[i];
- ///////////////////////////////////////////////
- string[] calc = new string[i];
- for (i = 0; i < numbers.Length; i++)
- {
- if (numbers[i] == null || numbers[i] == "=")
- break;
- if (value[i] == '+' || value[i] == '-' ||
- value[i] == '*' || value[i] == '/') {
- calc[j+1] += value[i];
- j+=2;
- }
- else
- {
- calc[j] += value[i];
- }
- }
- ///////////////////////////////////////////////
- for (j = 0; j < calc.Length; j++)
- {
- if ((j % 2) != 0)
- {
- try
- {
- //////////////////////////////////////////////
- if (calc[j] == "+")
- {
- if (double.Parse(calc[j - 1]) > 0 && j == 1)
- num += double.Parse(calc[j - 1]);
- if (double.Parse(calc[j + 1]) > 0)
- num += double.Parse(calc[j + 1]);
- }
- //////////////////////////////////////////////
- if (calc[j] == "-")
- {
- if (double.Parse(calc[j - 1]) > 0 && j == 1)
- num += double.Parse(calc[j - 1]);
- if (double.Parse(calc[j + 1]) > 0)
- num -= double.Parse(calc[j + 1]);
- }
- //////////////////////////////////////////////
- if (calc[j] == "*")
- {
- if (num == 0) num = 1;
- if (double.Parse(calc[j - 1]) > 0 && j == 1)
- num *= double.Parse(calc[j - 1]);
- if (double.Parse(calc[j + 1]) > 0)
- num *= double.Parse(calc[j + 1]);
- }
- //////////////////////////////////////////////
- if (calc[j] == "/")
- {
- if (double.Parse(calc[j - 1]) > 0 && j == 1)
- {
- if (num == 0)
- num = double.Parse(calc[j - 1]);
- else
- num /= double.Parse(calc[j - 1]);
- }
- if (double.Parse(calc[j + 1]) > 0)
- num /= double.Parse(calc[j + 1]);
- }
- //////////////////////////////////////////////
- }
- catch (Exception e) {
- Error(e.Message);
- goto Main;
- }
- }
- }
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("====================");
- Console.WriteLine("Result: " + num);
- Console.WriteLine("====================");
- Console.ResetColor();
- goto Main;
- }
- public static void Error(string message)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine(message);
- Console.ResetColor();
- }
- public static bool isValid(string value)
- {
- if (value == "") return true;
- if (value.ToString()[0] == '+' || value.ToString()[0] == '-' ||
- value.ToString()[0] == '*' || value.ToString()[0] == '/') {
- return true;
- }
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement