"); Console.WriteLine("Operations: +, -, *, /"); // For demonstration, we'll simulate command line arguments string[] testArgs = {"10", "5", "+"}; CommandLineCalculator(testArgs); Console.WriteLine("\n" + new string('=', 50) + "\n"); // Assignment 3: Menu Driven">
using System;

namespace CSharpAssignments
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("=== C# Assignment Solutions ===\\n");
            
            // Assignment 1: Hello World
            Console.WriteLine("Assignment 1: Hello World Program");
            HelloWorld();
            
            Console.WriteLine("\\n" + new string('=', 50) + "\\n");
            
            // Assignment 2: Command Line Calculator
            Console.WriteLine("Assignment 2: Command Line Calculator");
            Console.WriteLine("Usage: Program.exe <num1> <num2> <operation>");
            Console.WriteLine("Operations: +, -, *, /");
            
            // For demonstration, we'll simulate command line arguments
            string[] testArgs = {"10", "5", "+"};
            CommandLineCalculator(testArgs);
            
            Console.WriteLine("\\n" + new string('=', 50) + "\\n");
            
            // Assignment 3: Menu Driven Calculator
            Console.WriteLine("Assignment 3: Menu Driven Calculator");
            MenuDrivenCalculator();
        }
        
        // Assignment 1: Simple Hello World Program
        static void HelloWorld()
        {
            Console.WriteLine("Hello World!");
        }
        
        // Assignment 2: Command Line Calculator with Switch Case
        static void CommandLineCalculator(string[] args)
        {
            if (args.Length != 3)
            {
                Console.WriteLine("Error: Please provide exactly 3 arguments");
                Console.WriteLine("Usage: <number1> <number2> <operation>");
                return;
            }
            
            try
            {
                double num1 = Convert.ToDouble(args[0]);
                double num2 = Convert.ToDouble(args[1]);
                char operation = args[2][0];
                double result = 0;
                bool validOperation = true;
                
                switch (operation)
                {
                    case '+':
                        result = num1 + num2;
                        break;
                    case '-':
                        result = num1 - num2;
                        break;
                    case '*':
                        result = num1 * num2;
                        break;
                    case '/':
                        if (num2 != 0)
                        {
                            result = num1 / num2;
                        }
                        else
                        {
                            Console.WriteLine("Error: Division by zero is not allowed!");
                            return;
                        }
                        break;
                    default:
                        Console.WriteLine("Error: Invalid operation! Use +, -, *, or /");
                        validOperation = false;
                        break;
                }
                
                if (validOperation)
                {
                    Console.WriteLine($"Result: {num1} {operation} {num2} = {result}");
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("Error: Invalid number format!");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
            }
        }
        
        // Assignment 3: Menu Driven Calculator with Do-While Loop
        static void MenuDrivenCalculator()
        {
            char choice;
            
            do
            {
                Console.WriteLine("\\n=== Calculator Menu ===");
                Console.WriteLine("1. Addition (+)");
                Console.WriteLine("2. Subtraction (-)");
                Console.WriteLine("3. Multiplication (*)");
                Console.WriteLine("4. Division (/)");
                Console.WriteLine("5. Exit");
                Console.Write("Enter your choice (1-5): ");
                
                string input = Console.ReadLine();
                
                if (string.IsNullOrEmpty(input) || input.Length == 0)
                {
                    Console.WriteLine("Invalid input! Please try again.");
                    continue;
                }
                
                choice = input[0];
                
                if (choice >= '1' && choice <= '4')
                {
                    try
                    {
                        Console.Write("Enter first number: ");
                        double num1 = Convert.ToDouble(Console.ReadLine());
                        
                        Console.Write("Enter second number: ");
                        double num2 = Convert.ToDouble(Console.ReadLine());
                        
                        double result = 0;
                        char operation = ' ';
                        bool validCalculation = true;
                        
                        switch (choice)
                        {
                            case '1':
                                result = num1 + num2;
                                operation = '+';
                                break;
                            case '2':
                                result = num1 - num2;
                                operation = '-';
                                break;
                            case '3':
                                result = num1 * num2;
                                operation = '*';
                                break;
                            case '4':
                                if (num2 != 0)
                                {
                                    result = num1 / num2;
                                    operation = '/';
                                }
                                else
                                {
                                    Console.WriteLine("Error: Division by zero is not allowed!");
                                    validCalculation = false;
                                }
                                break;
                        }
                        
                        if (validCalculation)
                        {
                            Console.WriteLine($"Result: {num1} {operation} {num2} = {result}");
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Error: Please enter valid numbers!");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"Error: {ex.Message}");
                    }
                }
                else if (choice == '5')
                {
                    Console.WriteLine("Thank you for using the calculator!");
                }
                else
                {
                    Console.WriteLine("Invalid choice! Please select 1-5.");
                }
                
                if (choice != '5')
                {
                    Console.Write("\\nPress any key to continue...");
                    Console.ReadKey();
                    Console.Clear();
                }
                
            } while (choice != '5');
        }
    }
}

/* 
SEPARATE FILES FOR INDIVIDUAL ASSIGNMENTS:

// ========== Assignment1.cs ==========
using System;

class Assignment1
{
    static void Main()
    {
        Console.WriteLine("Hello World!");
    }
}

// ========== Assignment2.cs ==========
using System;

class Assignment2
{
    static void Main(string[] args)
    {
        if (args.Length != 3)
        {
            Console.WriteLine("Usage: Assignment2.exe <num1> <num2> <operation>");
            return;
        }
        
        double num1 = Convert.ToDouble(args[0]);
        double num2 = Convert.ToDouble(args[1]);
        char op = args[2][0];
        double result;
        
        switch (op)
        {
            case '+':
                result = num1 + num2;
                break;
            case '-':
                result = num1 - num2;
                break;
            case '*':
                result = num1 * num2;
                break;
            case '/':
                if (num2 != 0)
                    result = num1 / num2;
                else
                {
                    Console.WriteLine("Division by zero!");
                    return;
                }
                break;
            default:
                Console.WriteLine("Invalid operation!");
                return;
        }
        
        Console.WriteLine($"{num1} {op} {num2} = {result}");
    }
}

// ========== Assignment3.cs ==========
using System;

class Assignment3
{
    static void Main()
    {
        char choice;
        
        do
        {
            Console.WriteLine("\\nCalculator Menu:");
            Console.WriteLine("1. Addition");
            Console.WriteLine("2. Subtraction");
            Console.WriteLine("3. Multiplication");
            Console.WriteLine("4. Division");
            Console.WriteLine("5. Exit");
            Console.Write("Choice: ");
            
            choice = Console.ReadLine()[0];
            
            if (choice >= '1' && choice <= '4')
            {
                Console.Write("Enter first number: ");
                double a = Convert.ToDouble(Console.ReadLine());
                Console.Write("Enter second number: ");
                double b = Convert.ToDouble(Console.ReadLine());
                
                switch (choice)
                {
                    case '1':
                        Console.WriteLine($"Result: {a + b}");
                        break;
                    case '2':
                        Console.WriteLine($"Result: {a - b}");
                        break;
                    case '3':
                        Console.WriteLine($"Result: {a * b}");
                        break;
                    case '4':
                        if (b != 0)
                            Console.WriteLine($"Result: {a / b}");
                        else
                            Console.WriteLine("Division by zero!");
                        break;
                }
            }
            else if (choice != '5')
            {
                Console.WriteLine("Invalid choice!");
            }
            
        } while (choice != '5');
        
        Console.WriteLine("Goodbye!");
    }
}
*/