C# Function Error -
this question has answer here:
as i'm new c# i'm trying make basic console based calculator. it's getting 1 error though. here code:
using system; using system.collections.generic; using system.linq; using system.text; using system.threading.tasks; namespace functionbased_calculator { class program { public void menu() { console.clear(); console.writeline("-=calculator=-\n"); console.writeline("(1.) addition"); console.writeline("(2.) subtraction"); console.writeline("(3.) multiplication"); console.writeline("(4.) division"); console.writeline("(5.) help"); string answer = console.readline(); if (answer == "1") { addition(); } else { if (answer == "2") { subtraction(); } else { if (answer == "3") { multiplication(); } else { if (answer == "4") { division(); } else { if (answer == "5") { help(); } else { console.writeline("invalid"); console.readkey(); menu(); } } } } } } public void addition() { console.writeline("-=addition=-\n"); console.writeline("number 1:"); int num1 = convert.toint32(console.readline()); console.clear(); console.writeline("-=addition=-\n"); console.writeline("number 2:"); int num2 = convert.toint32(console.readline()); console.clear(); console.writeline("-=addition=-\n"); int sum = num1 + num2; console.writeline(sum); console.readkey(); menu(); } public void subtraction() { console.writeline("-=subtraction=-\n"); console.writeline("number 1:"); int num1 = convert.toint32(console.readline()); console.clear(); console.writeline("-=subtraction=-\n"); console.writeline("number 2:"); int num2 = convert.toint32(console.readline()); console.clear(); console.writeline("-=subtraction=-\n"); int sum = num1 - num2; console.writeline(sum); console.readkey(); menu(); } public void multiplication() { console.writeline("-=multiplication=-\n"); console.writeline("number 1:"); int num1 = convert.toint32(console.readline()); console.clear(); console.writeline("-=multiplication=-\n"); console.writeline("number 2:"); int num2 = convert.toint32(console.readline()); console.clear(); console.writeline("-=multiplication=-\n"); int sum = num1 * num2; console.writeline(sum); console.readkey(); menu(); } public void division() { console.writeline("-=division=-\n"); console.writeline("number 1:"); int num1 = convert.toint32(console.readline()); console.clear(); console.writeline("-=division=-\n"); console.writeline("number 2:"); int num2 = convert.toint32(console.readline()); console.clear(); console.writeline("-=division=-\n"); int sum = num1 / num2; console.writeline(sum); console.readkey(); menu(); } public void help() { console.writeline("-=help=-\n"); console.writeline("if got compiled don't need help."); console.readkey(); menu(); } static void main(string[] args) { menu(); } } }
here error every time try run (i'm using vs express 2013) error:
an object reference required non-static field, method, or
property 'functionbased_calculator.program.menu()'
it's on line 133. think might have using menu() inside static void main. if me that'd great!
menu()
needs declared static
, along it's entire call hierarchy:
public static void menu()
the compiler leaves no room error. when accessing astatic
method that's declared on type, not instance, need make sure field or method called static well.
Comments
Post a Comment