[英]My calculator application is not working as intended
我是 C# 的初学者,作为我的第一个程序,我制作了一个带有 2 个变量的简单计算器,现在我创建了一个计算器 v2,您可以在其中放置所需的变量数量,但它不起作用。
它有两个大问题使计算器无法按预期工作:
该计划分为 2 个班级。 具有计算功能的计算器 class和带有主要 function 的程序class。
计算器 class 代码:
class Calculator
{
private double num;
private double sum = 0;
public Calculator(double number)
{
num = number;
}
public double Add()
{
return sum += num;
}
public double Divide()
{
if(num==0)
{
num = 1;
}
return sum /= num;
}
public double Subtraction()
{
return sum -= num;
}
public double Multiplication()
{
if(sum==0)
{
sum = 1;
}
return sum *= num;
}
public double Sum
{
get
{
return sum;
}
}
}
程序 class 代码:
class Program
{
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Choose the number of the operations: 1.Add 2.Divide 3.Subtraction 4.Multiply");
Console.ResetColor();
Console.Write("How many numbers do you want to calculate?: ");
int countNumbers = int.Parse(Console.ReadLine());
double suma = 0;
if (countNumbers > 1)
{
for (int i = 1; i <= countNumbers; i++)
{
Console.Write("Add number: ");
double number = double.Parse(Console.ReadLine());
Calculator op = new Calculator(number);
Console.Write("Operation number: ");
int operation = int.Parse(Console.ReadLine());
switch (operation)
{
case 1:
op.Add();
break;
case 2:
op.Divide();
break;
case 3:
op.Subtraction();
break;
case 4:
op.Multiplication();
break;
}
suma = op.Sum;
}
}
Console.WriteLine("The sum is {0}", suma);
}
}
问候
我会首先用第一个数字初始化一个Calculator
实例,然后循环获取每个数字/操作:
Console.Write("First number: ");
double number = double.Parse(Console.ReadLine());
Calculator op = new Calculator(number);
for (int i = 1; i < countNumbers; i++)
{
Console.Write("First number: ");
double number = double.Parse(Console.ReadLine());
Console.Write("Operation number: ");
int operation = int.Parse(Console.ReadLine());
switch (operation)
{
case 1:
op.Add(number);
break;
case 2:
op.Divide(number);
break;
case 3:
op.Subtraction(number);
break;
case 4:
op.Multiplication(number);
break;
}
suma = op.Sum;
}
请注意,为此,我将去掉Calculator
中的num
字段,并在每个 function 中使用一个参数,如下所示:
public double Add(double num)
{
return sum += num;
}
另请注意,您显然不使用return
值,因此您也可以编写:
public void Add(double num)
{
sum += num;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.