I'm reading this very good book, "C# Player's Guide, to learn C#. I then plan to make video games with Unity 3D after.
In one of the chapters, he asks us to make a (really) simple calculator as a console application using the switch
statement:
The program that we’ll make is going to be a simple calculator. We’re going to ask the user to type in two numbers and then type in a math operation to perform on the two numbers.
Use a switch statement to handle the different operations in different ways. Allow the user to type in ’+’ for addition, ’-’ for subtraction, ’*’ for multiplication, ’/’ for division, and ’%’ for remainder.
What do you think of my first program? Is it well-formatted and well-written?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SimpleCalculator
{
class Program
{
static void Main(string[] args)
{
//use for the string operation choice
int operation = 0;
//stock the result of the operation
double result = 0;
//Ask user first number
Console.WriteLine("Type you first number :");
string stringFirstNumber = Console.ReadLine();
double firstNumber = Convert.ToDouble(stringFirstNumber);
//Ask user second number
Console.WriteLine("Type you second number :");
string stringSecondNumber = Console.ReadLine();
double secondNumber = Convert.ToDouble(stringSecondNumber);
//Ask user operation to use
Console.WriteLine("Enter the operation + (addition), - (soustraction), * (multiplication), / (division), ^ (exposant) or % (reste) :");
string stringOperation = Console.ReadLine();
// Convert string choice to integral
if (stringOperation == "+" || stringOperation == "addition")
{
operation = 1;
}
else if (stringOperation == "-" || stringOperation == "soustraction")
{
operation = 2;
}
else if (stringOperation == "*" || stringOperation == "multiplication")
{
operation = 3;
}
else if (stringOperation == "/" || stringOperation == "division")
{
operation = 4;
}
else if (stringOperation == "^" || stringOperation == "exposant")
{
operation = 5;
}
else if (stringOperation == "%" || stringOperation == "reste")
{
operation = 6;
}
//Do someting depending on the operation choose
switch (operation)
{
case 1:
result = firstNumber + secondNumber;
break;
case 2:
result = firstNumber - secondNumber;
break;
case 3:
result = firstNumber * secondNumber;
break;
case 4:
result = firstNumber / secondNumber;
break;
case 5:
result = Math.Pow(firstNumber, secondNumber);
break;
case 6:
result = firstNumber % secondNumber;
break;
}
Console.WriteLine("\nResult of " + firstNumber + " " + stringOperation + " " + secondNumber + " = " + result + ".");
Console.ReadKey();
}
}
}