title: why my input always take default value?
body: <p>here is the code for my learning purpose...</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  
  
  namespace Calculator
  {
      abstract class calculator 
      {
          internal abstract int add();
          internal abstract int sub();
          internal abstract int mul();
          internal abstract int div();
          internal abstract double square();
          internal abstract double underroot();
  
      }
      class mycalculator : calculator
      {
          public mycalculator() :base()
          {
          }
          private int num1, num2;
          public int opr1
          {
              get { return num1; }
              set{num1 = value;}
          }
  
          public int opr2
          {
              get { return num2; }
              set { num2 = value; }
          }
  
  
          internal override int add() {
              return num1 + num2;
          }
          internal override int sub()
          {
              return num2 - num1;
          }
          internal override int mul()
          {
              return num1 * num2;
          }
          internal override int div()
          {
              if(num1 &gt; num2){
              return num1 / num2;
              }else
              {
                  //Console.WriteLine(num1 + " Must be greater than " + num2 + " and " + num2 + "can not be zero" );
                  return 0;
              }
          }
          internal override double square()
          {
              return num1 * num1;
          }
          internal override double underroot()
          {
              return Math.Sqrt(num1);
          }
  
      }
  
      class Program
      {
          static void Main(string[] args)
          {
              char choice = 'y';
  
              while (choice == 'Y' || choice == 'y')
              {
  
                  Console.WriteLine("\n\nPlease Select your Operation....!\n\n\n\n\n");
                  Console.WriteLine("Press 1 for Addtion\n");
                  Console.WriteLine("Press 2 for Subtraction\n");
                  Console.WriteLine("Press 3 for Multiplication\n");
                  Console.WriteLine("Press 4 for Division\n");
                  Console.WriteLine("Press 5 for square\n");
                  Console.WriteLine("Press 6 for UnderRoot\n");
                  int opt;
                  opt = Convert.ToInt32(Console.Read());
                  mycalculator c = new mycalculator();
  
                  switch (opt)
                  {
                      case '1':
                          int a;
                          Console.WriteLine("Please Enter Your First Operand");
                          a = Convert.ToInt32(Console.Read());
                         // a = int.Parse(Console.ReadLine());
                          c.opr1 = a;
                          Console.WriteLine("Please Enter Your Second Operand");
                          c.opr2 = Convert.ToInt32(Console.Read());
                          Console.WriteLine(c.opr1 + " +  " + c.opr2 + "  = " + c.add());
                          break;
  
  
  
  
                      default:
                          Console.WriteLine("Invalid Choice");
                          break;
  
                  }
  
                  Console.WriteLine("\n\n\nDo you want to Perform more calculations??\n");
                  Console.WriteLine("Press 'Y' or 'y' to continue, any other key to exit");
                  choice = Console.ReadKey().KeyChar;
                 // Console.WriteLine(choice);
  
  
  
              }
              Console.Read();
  
          }
      }
  }
  </code></pre>
  
  <p>just omitted case for subtraction, multiplication etc for the sake to keep the code less in size...</p>
  
  <p>Problem is :
  When I press 1 to add two numbers, It should take first operand and 2nd operand, then, it should show the result... but instead, it shows</p>
  
  <pre><code>13 + 10 = 23 
  </code></pre>
  
  <p>and if I do for for any other function, say for multiplication it shows</p>
  
  <pre><code>13*10 = 130
  </code></pre>
  
  <p>and so on</p>
  
  <pre><code>13-10 = 3 
  </code></pre>
  
  <p>the Program doesnot ask me to enter values, just shows the result with presumed operand1 as 13, and operand2 as 10....</p>
  
  <p>I never specified anything like that..</p>
  
  <p>can somebody point me from which part of hell these two numbers are Automatically comming???</p>
  
  <p>cursing c# and Visual Studio 2012 right now :(</p>
  
  <p><img src="https://i.stack.imgur.com/nynCS.png" alt="outPut"></p>