2011-11-12 35 views
0

這是我的代碼,沒有完全完成,抱歉波蘭語,但它很容易得到它。 http://pastebin.com/QPmVaPFv 所以,這是關於獸醫,4個變量是每個訪客的價格: 1.大狗 2.中型犬 3.小型狗 4.cat ,明年4個變量之後是遊客的人數,同如前(大,中,小,貓等)變量瘋狂,舍入數(int,double等)

然後文中說: 每5大狗主人得到了10%的折扣 每3媒體所有者獲得50%的折扣 每4個貓主人在1 $得到的價格即

double zdpies=ldpies/5.; 
double zspies=lspies/3.; 
double zkot=ckot/4.; 

這是部分有折扣

後,我在折扣價

double cdpiespromo=cdpies/10.; Big dog 
double cspiespromo=cspies/50.; medium dog 
double ckotpromo=1; Cat 

然後我的最終價格,即正常價格計算做出不打折

---以上的價格取得與計算的變量normalna:21.6 x 51.0 = 1101.6000000000001

過程完成。

我得到了那個奇怪的數字,51.沒問題,但21.6錯了,必須是22而不是21.6。當我使用「int」它說有「精度損失」,任何想法如何解決?

這裏是最後一個變量,用於計算最終價格打折和沒有折扣。

double idp=ldpies-zdpies; this calculates numbers of visitors without discount 
double idc=idp*cdpies; this calculates price number of visitor * normalpriceofbigdog. 
+1

您需要使用基本10進制數據類型而不是基本2浮點數類型 –

回答