Advertisement
Venciity

[SoftUni C# exam preparation] Enigmanation

Apr 5th, 2014
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.92 KB | None | 0 0
  1. using System;
  2.  
  3. internal class Enigmanation
  4. {
  5.     private static void Main()
  6.     {
  7.         int symbol = Console.Read();
  8.         decimal sum = 0;
  9.         int o = '+';
  10.  
  11.         while (symbol != '=')
  12.         {
  13.             if (symbol == '(')
  14.             {
  15.                 decimal innerSum = 0;
  16.                 int innerO = '+';
  17.                 symbol = Console.Read();
  18.  
  19.                 while (symbol != ')')
  20.                 {
  21.                     if (0 <= symbol - '0' && symbol - '0' <= 9)
  22.                     {
  23.                         switch (innerO)
  24.                         {
  25.                             case '+':
  26.                                 innerSum += symbol - '0';
  27.                                 break;
  28.  
  29.                             case '-':
  30.                                 innerSum -= symbol - '0';
  31.                                 break;
  32.  
  33.                             case '*':
  34.                                 innerSum *= symbol - '0';
  35.                                 break;
  36.  
  37.                             case '%':
  38.                                 innerSum %= symbol - '0';
  39.                                 break;
  40.                         }
  41.                     }
  42.                     else if (symbol == '+' ||
  43.                              symbol == '-' ||
  44.                              symbol == '%' ||
  45.                              symbol == '*')
  46.                     {
  47.                         innerO = symbol;
  48.                     }
  49.                     symbol = Console.Read();
  50.                 }
  51.  
  52.                 switch (o)
  53.                 {
  54.                     case '+':
  55.                         sum += innerSum;
  56.                         break;
  57.  
  58.                     case '-':
  59.                         sum -= innerSum;
  60.                         break;
  61.  
  62.                     case '*':
  63.                         sum *= innerSum;
  64.                         break;
  65.  
  66.                     case '%':
  67.                         sum %= innerSum;
  68.                         break;
  69.                 }
  70.             }
  71.             else if (0 <= symbol - '0' && symbol - '0' <= 9)
  72.             {
  73.                 switch (o)
  74.                 {
  75.                     case '+':
  76.                         sum += symbol - '0';
  77.                         break;
  78.  
  79.                     case '-':
  80.                         sum -= symbol - '0';
  81.                         break;
  82.  
  83.                     case '*':
  84.                         sum *= symbol - '0';
  85.                         break;
  86.  
  87.                     case '%':
  88.                         sum %= symbol - '0';
  89.                         break;
  90.                 }
  91.             }
  92.             else if (symbol == '+' ||
  93.                      symbol == '-' ||
  94.                      symbol == '*' ||
  95.                      symbol == '%')
  96.             {
  97.                 o = symbol;
  98.             }
  99.             symbol = Console.Read();
  100.         }
  101.  
  102.         Console.WriteLine("{0:0.000}", sum);
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement