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!");
}
}
*/