This is a basic calculator. The errors are on the last method called printResult
. I can't set num1, num2, operador
and resultado
as global. I can access printResult
on Class Calculadora
but I can't access the variables of the Class Calculadora
from the printResult
method.
using System;
namespace supercalc
{
public class calculadora
{
public static void Main (string [] args)
{
float num1;
float num2;
string operador;
float resultado;
Console.Clear();
Console.WriteLine("Insira o primeiro número");
num1 = int.Parse(Console.ReadLine());
Console.WriteLine("Insira o segundo número ");
num2 = int.Parse(Console.ReadLine());
Console.WriteLine("Insira o operador");
operador = Console.ReadLine();
switch(operador)
{
case "+":
resultado = num1 + num2;
automatizar.printResult();
break;
case "-" :
resultado = num1 - num2;
automatizar.printResult();
break;
case "*":
resultado = num1 * num2;
automatizar.printResult();
break;
case "/":
resultado = num1 / num2;
automatizar.printResult();
break;
default:
break;
}//END SWITCH
Console.WriteLine("Press any key to leave...");
Console.ReadKey();
}//END VOID MAIN
}//END CLASS CALCULADORA
public class automatizar
{
public static void printResult()
{
Console.WriteLine(supercalc.calculadora.num1 + calculadora.operador +calculadora.num2 + " é " + calculadora.resultado);
//ERROR ON PREVIOUS LINE OF CODE : supercalc.calculadora doesnt have a definition for num1, operador, num2 and resultado
//HELP
//I CANT SET THEM AS GLOBAL!
}
}
}//END NAMESPACE
The variables you mention are not "global", they are local to Main()
public static void Main (string [] args)
{
float num1;
float num2;
You cannot access them from another function. The most direct way to make them accessible is to make them static class fields
private static float num1;
private static float num2;
public static void Main (string [] args)
{