Q:

Control Cannot Fall Through From One Case Label To Another Even With Break

This is some part of the code.
I am getting the error "Control cannot fall through from one case label to another in case 3".
In spite of using the break statement, it is not getting detected. What is the right way to do it? 
Update: Error is in case 3. Don't bother to waste your time on other cases.
switch (output)
{
    case 1:
        int num, reverse = 0;
        Console.WriteLine("Enter a Number : ");
        num = int.Parse(Console.ReadLine());
        while (num != 0)
        {
            reverse = reverse * 10;
            reverse = reverse + num % 10;
            num = num / 10;
        }
        Console.WriteLine("Reverse of Number is : "+reverse);
        Console.ReadLine();
        break;
    case 2:
        int number, sum = 0, r,square;
        Console.WriteLine("Enter a Number : ");
        number = int.Parse(Console.ReadLine());
        while (number != 0)
        {
            r = number % 10;
            number = number / 10;
            square = r * r;
            sum = sum + square;
        }
        Console.WriteLine("Sum of square of Digits of the Number : "+sum);
        Console.ReadLine();
        break;
    case 3:
        Console.WriteLine("Enter 1 for AND 2 for OR and 3 for XOR Operation");
        int answer = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Your 2 inputs are?");
        int inp1= Convert.ToInt32(Console.ReadLine());
        int inp2= Convert.ToInt32(Console.ReadLine());
        switch (answer)
        {
            case 1:
                int input3 = inp1 * inp2;
                System.Console.WriteLine("Output is" + input3);
                Console.ReadLine();
                break;
            case 2:
                int input4 = inp1 + inp2;
                System.Console.WriteLine("Output is" + input4);
                Console.ReadLine();
                break;
            case 3:
                if (inp1 == inp2)
                {
                    System.Console.WriteLine("OUTPUT IS 0");
                    Console.ReadLine();
                }
                else
                {
                    System.Console.WriteLine("Output is 1");
                    Console.ReadLine();
                }
                break;

A:

Your problem is that you only break out of the inner case and not the outer, so you're getting a fall through issue. 
case 3 ...
             case 3:

                     if (inp1 == inp2)
                     {
                         System.Console.WriteLine("OUTPUT IS 0");
                         Console.ReadLine();

                     }

                     else
                     {
                         System.Console.WriteLine("Output is 1");
                         Console.ReadLine();

                     }
                     break;
 break; //break the outer case3

