我有一個象牙,我被要求編寫一個程序,計算現金交易後給客戶的變化,並確定每個面額的鈔票和硬幣的數量。更改計算器
用戶必須投入貨物成本和從客戶收到的金額。
我必須有一個接受小數參數Cost和Chashreceived以及整數參數的方法:Hunderds,Fifties,Twisted,Ones,50c,10c,5c,2c和1c。
我減去成本和Cashreceived並計算需要作爲變更返回的紙幣和硬幣的確切數量。
我已經嘗試過了,但是當我必須放入硬幣時,它會變得有問題。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ChangeCalculator
{
class Program
{
static void Main(string[] args)
{
clsCash Money = new clsCash();
clsCash Paid = new clsCash();
Console.WriteLine("What is the cost of the goods?");
Money.Cost = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("How much was recived?");
Paid.CashRecieved = Convert.ToDecimal(Console.ReadLine());
Money.GetChange(Money.Cost, Paid.CashRecieved);
Console.Read();
}
}
class clsCash
{
private decimal cost;
private decimal cashRecieved;
public decimal Cost
{
get
{
return cost;
}
set
{
cost = value;
}
}
public decimal CashRecieved
{
get
{
return cashRecieved;
}
set
{
cashRecieved = value;
}
}
public void GetChange(decimal Cost, decimal CashRecieved)
{
decimal change = CashRecieved - Cost;
int hundreds = 0;
int fifty = 0;
int twenty = 0;
int ten = 0;
int five = 0;
int two = 0;
int one = 0;
int centsfifty = 0;
int centsten = 0;
int centsfive = 0;
int centstwo = 0;
int centsone = 0;
do
{
if (change >= 100)
{
hundreds = (int)change/100;
change = (int)change % 100;
} //while (change > 0);
else if (change >= 50)
{
fifty = (int)change/50;
change = change % 50;
}
else if (change >= 20)
{
twenty = (int)change/20;
change = change % 20;
}
else if (change >= 10)
{
ten = (int)change/10;
change = change % 10;
}
else if (change >= 5)
{
five = (int)change/5;
change = change % 5;
}
else if (change >= 2)
{
two = (int)change/2;
change = change % 2;
}
else if (change >= 1)
{
one = (int)change/1;
change = change % 1;
}
else if (change > 1)
{
decimal fhu = change/0.5m;
centsfifty = (int)fhu;
change = change % 0.5m;
Console.WriteLine("YOUR CHANGE IS:");
}
} while (change >= 0);
Console.WriteLine("YOUR CHANGE IS:");
Console.WriteLine("---------------");
Console.WriteLine("HUNDREDS RANDS \t: {0}", hundreds);
Console.WriteLine("FIFTY RANDS \t: {0}", fifty);
Console.WriteLine("TWENTY RANDS \t: {0}", twenty);
Console.WriteLine("TEN RANDS \t: {0}", ten);
Console.WriteLine("FIVE RANDS \t: {0}", five);
Console.WriteLine("TWO RANDS \t: {0}", two);
Console.WriteLine("ONE RANDS \t: {0}", one);
Console.WriteLine("50 CENTS \t: {0}", centsfifty);
}
}
}
。 – jeuton 2013-02-11 20:22:19
不應該最後'else if'爲'else if(更改<1)'?我認爲你的標誌翻轉了。 – IronMan84 2013-02-11 20:22:49
建議 - 不要在代碼中使用像cls這樣的前綴。 「現金」對於課程名稱來說足夠了。 IDE會告訴你關於類型 – 2013-02-11 20:22:52