I'm learning to code for fun, and just finished my first program. I don't know what to think about it since it's my first finished real code, but hey it works! I'm pretty sure that it can be written shorter or better than this.
Right now it can only solve 1 problem at a time, but I'm going to make it so it can save the outcome and work further on and after that I'm of plan to change from using the console to having a real calculator look. I just want to improve myself by listening to your thoughts before working further on it.
What could I do shorter/easier/simpler/better?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
ZoneNumber1: //First number
Console.WriteLine();
Console.WriteLine();
Console.Write("Number: ");
double Number1;
double Number2;
while (!double.TryParse(Console.ReadLine(), out Number1))
{
Console.Clear();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Wrong sort of input.");
Console.Write("Enter a number: ");
}
Console.Clear();
Console.WriteLine(Number1);
Console.WriteLine();
//Second number + action
Action:
Console.Write("Action: ");
string Action = Console.ReadLine();
Console.Clear();
Console.WriteLine(Number1+""+Action);
if ((Action == "*") || (Action == "/") || (Action == "-") || (Action == "+"))
{
switch (Action)
{
case "*":
Console.WriteLine();
Console.Write("Number: ");
while (!double.TryParse(Console.ReadLine(), out Number2))
{
Console.Clear();
Console.WriteLine(Number1 + Action);
Console.WriteLine();
Console.WriteLine("Wrong sort of input.");
Console.Write("Enter a number: ");
}
Console.Clear();
Console.WriteLine(Number1 + "*" + Number2);
Console.WriteLine();
Console.WriteLine("= "+ Number1 * Number2);
Console.Write("Press enter to calculate again: "); Console.ReadLine();
Console.Clear();
goto ZoneNumber1;
case "-":
Console.WriteLine();
Console.Write("Number: ");
while (!double.TryParse(Console.ReadLine(), out Number2))
{
Console.Clear();
Console.WriteLine(Number1 + Action);
Console.WriteLine();
Console.WriteLine("Wrong sort of input.");
Console.Write("Enter a number: ");
}
Console.Clear();
Console.WriteLine(Number1 + "-" + Number2);
Console.WriteLine();
Console.WriteLine("= " + (Number1 - Number2));
Console.Write("Press enter to calculate again: "); Console.ReadLine();
Console.Clear();
goto ZoneNumber1;
case "+":
Console.WriteLine();
Console.Write("Number: ");
while (!double.TryParse(Console.ReadLine(), out Number2))
{
Console.Clear();
Console.WriteLine(Number1 + Action);
Console.WriteLine();
Console.WriteLine("Wrong sort of input.");
Console.Write("Enter a number: ");
}
Console.Clear();
Console.WriteLine(Number1 + "+" + Number2);
Console.WriteLine();
Console.WriteLine("= " + (Number1 + Number2));
Console.Write("Press enter to calculate again: "); Console.ReadLine();
Console.Clear();
goto ZoneNumber1;
case "/":
Console.WriteLine();
Console.Write("Number: ");
while (!double.TryParse(Console.ReadLine(), out Number2))
{
Console.Clear();
Console.WriteLine(Number1 + Action);
Console.WriteLine();
Console.WriteLine("Wrong sort of input.");
Console.Write("Enter a number: ");
}
Console.Clear();
Console.WriteLine(Number1 + "/" + Number2);
Console.WriteLine();
Console.WriteLine("= " + (Number1 / Number2));
Console.Write("Press enter to calculate again: "); Console.ReadLine();
Console.Clear();
goto ZoneNumber1;
}
}
else //if the input is not what it is supposed to be
{
Action = "";
Console.Clear();
Console.WriteLine(Number1 + Action);
Console.WriteLine();
Console.WriteLine("False action input, choose between: / ; * ; - ; +");
goto Action;
}
}
}
}