2013-03-08 134 views
3

我正在尝试创建一个跟踪C#课程存款和取款的银行帐户应用程序。银行帐户应用程序

我遇到的问题是,它看起来像帐户余额正在重置(或某事)。

当您输入一个数字并单击该按钮时,它(应该)被添加到天平并显示在文本框中。不幸的是,当你输入一个数字时,数字本身就显示在文本框中。我不知道为什么。

我的代码如下:

namespace Assign11 
{ 
using System; 

public class BankAccount 
{ 
    private double inValue; 
    private double accountBalance; 

    public BankAccount() 
    { 
    } 

    public BankAccount(double input) 
    { 
     inValue = input; 
     Deposit(); 
    } 

    public double Invalue 
    { 
     set 
     { 
      inValue = value; 
     } 
     get 
     { 
      return inValue; 
     } 
    } 

    public double AccountBalance 
    { 
     get 
     { 
      return accountBalance; 
     } 
     set 
     { 
      accountBalance = value; 
     } 
    } 

    public void Deposit() 
    { 
     accountBalance = accountBalance + inValue; 
    } 
    } 
} 

我也得到了以下形式:

namespace Assign11 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void btn_deposit_Click(object sender, EventArgs e) 
    {    
     double input; 
     input = double.Parse((putin.Text)); 

     BankAccount anAccount = new BankAccount(input); 

     output.Text = anAccount.AccountBalance.ToString();   
    } 
    } 
} 

回答

5

那是因为你单击该按钮,每次实例化一个BankAccount对象。这就是为什么AccountBalance总是从零开始,而不是加起来的原因。

在类范围内声明您的BankAccount对象,以便余额保留。 更改Deposit函数以接受存款金额并使用该值添加在帐户余额中