Sumator.cs と Kalkulator.cs @ Visual Studio 2012の 2 つのファイルを受け取りました。
これらの 2 つを見る必要はないと思いますが、とにかくここに置いたので、ページを下って問題を確認してください。
Sumator.csコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sumator2
{
class Sumator
{
bool Status = false;
double Suma = 0;
public Kalkulator Kalk = new Kalkulator();
public Sumator()
{
}
public void ZmienStatus()
{
Status = !Status;
}
public string PokazStatus()
{
if (Status == true)
return " Sumator włączony";
else
return " Sumator wyłaczony";
}
public void PokazWynikS()
{
if (Status == true)
Suma += Kalk.Wynik;
Console.WriteLine("Wynik działania : " + Kalk.L1.ToString() + " " + Kalk.Dzialanie.ToString() + " " + Kalk.L2.ToString() + " = " + Kalk.Wynik.ToString() + PokazStatus() + " Suma= " + Suma.ToString());
}
public void Zeruj()
{
Suma = 0;
}
}
}
Kalkulator.csコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sumator2
{
class Kalkulator
{
public double L1;
public double L2;
public double Wynik;
public String Dzialanie = "";
public Kalkulator()
{
}
void Oblicz()
{
switch (Dzialanie)
{
case "+":
Wynik = L1 + L2;
break;
case "-":
Wynik = L1 - L2;
break;
case "*":
Wynik = L1 * L2;
break;
case "/":
Wynik = L1 / L2;
break;
}
}
public void PodajDzialanie(double licz1, double licz2, string dz)
{
L1 = licz1;
L2 = licz2;
Dzialanie = dz;
Oblicz();
}
public void PokazWynik()
{
Console.WriteLine("Wynik działania : " + L1.ToString() + " " + Dzialanie.ToString() + " " + L2.ToString() + " = " + Wynik.ToString());
}
}
}
この 2 つのメイン コードを書きました。 Program.csコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sumator2
{
class Program
{
static void Main(string[] args)
{
Sumator s1 = new Sumator();
s1.ZmienStatus();
bool userNum = true;
while (userNum)
{
double userDouble;
string userString = Console.ReadLine();
if (userNum = double.TryParse(userString, out userDouble))
{
userDouble = Convert.ToDouble(userString);
userNum = false;
}
else
{
Console.WriteLine("Nie podano liczby!");
userNum = true;
}
}
s1.Kalk.PodajDzialanie(userDouble, 2, "*");
s1.PokazWynikS();
s1.Kalk.PokazWynik();
s1.Kalk.PodajDzialanie(userDouble, 2, "+");
s1.PokazWynikS();
s1.Kalk.PokazWynik();
Console.ReadKey();
}
}
}
問題は、これらの引数で s1.Kalk.PodajDzialanie() 関数を使用したかったことです。
s1.Kalk.PodajDzialanie(userDouble, 2, "*");
そして、次のようなエラーが発生しました:
The name 'userDouble' does not exists in the current context
私はwt *を意味しますか?私が好きなら、この機能は正常に動作します:
s1.Kalk.PodajDzialanie(2, 2, "*");