Advertisement
Mlntcandy

Calculator C#

Apr 11th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.75 KB | None | 0 0
  1. using System;
  2.  
  3. public class CalcFunc {
  4.     public static int CheckActSym(string act)
  5.     {
  6.         if (String.Compare(act, "+") == 0 | String.Compare(act, "-") == 0 | String.Compare(act, "*") == 0 | String.Compare(act, "/") == 0 | String.Compare(act, "%") == 0)
  7.         { return 1; } else if (String.Compare(act, "^") == 0) { return -1; } else { return 0; }
  8.     }
  9.  
  10.     public static decimal Calculate(string act, decimal val1, decimal val2)
  11.     {
  12.         if (String.Compare(act, "+") == 0) {
  13.             return val1+val2 ;
  14.         } else if (String.Compare(act, "-") == 0) {
  15.             return val1-val2 ;
  16.         } else if (String.Compare(act, "*") == 0) {
  17.             return val1*val2 ;
  18.         } else if (String.Compare(act, "%") == 0) {
  19.             return val1%val2 ;
  20.         } else if (String.Compare(act, "/") == 0) {
  21.             return val1/val2 ;
  22.         } else { return 0; }
  23.     }
  24.    
  25.     public static int Power(int val1, int val2)
  26.     {
  27.         int pow = 1;
  28.         int pval = val1;
  29.         while (pow != val2) {
  30.             pow = pow + 1;
  31.             pval = pval*val1;
  32.         }
  33.         return pval;
  34.     }
  35. }
  36.  
  37. public class CalcMain
  38. {
  39.     public static void Main()
  40.     {
  41.         Console.WriteLine("/===========================\\");
  42.         Console.WriteLine("| Калькулятор (alpha 0.0.1) |");
  43.         Console.WriteLine("\\===========================/\n");
  44.         SymbolEnter:
  45.         Console.WriteLine("Доступные действия: + - * / ^ %");
  46.         Console.WriteLine("Введите действие, которое вы хотите использовать:");
  47.         string act = Console.ReadLine();
  48.         int chact = CalcFunc.CheckActSym(act);
  49.         if (chact == 1) {
  50.             Console.Write("Теперь");
  51.             Val1Enter:
  52.             Console.WriteLine(" введите первое число:");
  53.             string sval1 = Console.ReadLine();
  54.             decimal val1 ;
  55.             if (decimal.TryParse(sval1, out val1)) {
  56.                 Console.Write("А теперь");
  57.                 Val2Enter:
  58.                 Console.WriteLine(" введите второе число:");
  59.                 string sval2 = Console.ReadLine();
  60.                 decimal val2 ;
  61.                 if (decimal.TryParse(sval2, out val2)) {
  62.                     Console.Write("Ваш результат: ");
  63.                     decimal finval = CalcFunc.Calculate(act, val1, val2);
  64.                     Console.Write(finval.ToString());
  65.                     Console.WriteLine(".");
  66.                 } else {
  67.                     Console.WriteLine("Вы ввели неверное число");
  68.                     Console.WriteLine("==========");
  69.                     Console.Write("Заново");
  70.                     goto Val2Enter ;
  71.                 }
  72.                 } else {
  73.                     Console.WriteLine("Вы ввели неверное число");
  74.                     Console.WriteLine("==========");
  75.                     Console.Write("Заново");
  76.                     goto Val1Enter ;
  77.                 }
  78.         } else {
  79.             if (chact == -1){
  80.                 Console.Write("Теперь");
  81.                 Val1Enter:
  82.                 Console.WriteLine(" введите число:");
  83.                 string sval1 = Console.ReadLine();
  84.                 int val1 ;
  85.                 if (Int32.TryParse(sval1, out val1)) {
  86.                     Console.Write("А теперь");
  87.                     Val2Enter:
  88.                     Console.WriteLine(" введите степень, в которую хотите возвести число:");
  89.                     string sval2 = Console.ReadLine();
  90.                     int val2 ;
  91.                     if (Int32.TryParse(sval2, out val2)) {
  92.                         Console.Write("Ваш результат: ");
  93.                         int finval = CalcFunc.Power(val1, val2);
  94.                         Console.Write(finval.ToString());
  95.                         Console.WriteLine(".");
  96.                     } else {
  97.                         Console.WriteLine("Вы ввели неверное число");
  98.                         Console.WriteLine("==========");
  99.                         Console.Write("Заново");
  100.                         goto Val2Enter ;
  101.                     }
  102.                     } else {
  103.                         Console.WriteLine("Вы ввели неверное число");
  104.                         Console.WriteLine("==========");
  105.                         Console.Write("Заново");
  106.                         goto Val1Enter ;
  107.                 }
  108.             } else {
  109.                 Console.WriteLine("Ошибка! Вы ввели недопустимый знак действия.");
  110.                 Console.WriteLine("==========");
  111.                 goto SymbolEnter;
  112.             }
  113.         }
  114.     }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement