2013-02-12 65 views
1

我是C++的新手,想知道我是否在正確的軌道上?我有點困惑,但希望可能有一些有用的提示,我失蹤/有錯誤....我知道它還沒有完全結束,我仍然需要做美元,宿舍的細分.... etc我在正確的軌道上嗎?收銀員程序C++

問題:收銀機使用自動投幣機來幫助進行更改。我們假設一名職員交錢來支付購買。對於改變,店員向顧客返還任何紙幣並且指示硬幣機器分配小於1美元的任何改變。在這個練習中,你要模擬職員和機器的動作。

在收銀機上,我們需要訪問購買價格和付款。這種變化,即付款與購買價格之間的差異,是一個實數。整個部分代表美元的變化,小數部分是以美分,美分,鎳和便士返回的美分變化。例如,支付10美元購買3.08美元,所需更改爲6.92美元。售貨員交付6美元,投幣機以92美分分發3個季度,1個硬幣,1個鎳和2個便士。

92 = 3(25)+ 1 ...(10)+ 1(5)+ 2

識別的購買價格(價格),付款(付款)的量使用實數的對象,並且改變(改變)。主程序計算變化量(coinChange)並將其分爲美元(美元),宿舍(宿舍),硬幣(硬幣),鎳(鎳)和便士(便士)。

您必須爲宿舍(宿舍),硬幣(硬幣),鎳幣(鎳幣)和硬幣(便士)申報常量。您必須在計算中使用複合運算符。您必須使用setreal(w,p)和setw(n)作爲輸出。

我迄今所做的:

// Me 
// A BRIEF PROGRAM DESCRIPTION FOR CHAPTER 2, HOMEWORK 4 

// COMMENT THE PREPROCESSOR 
#include <iostream.h> 

// COMMENT THE PREPROCESSOR STATEMENT 
#include "textlib.h" 

int main() 
{ 

// COMMENT THE CONSTANTS 
const int QUARTER_AMOUNT = 25; 
const int DIME_AMOUNT = 10; 

// COMMENT THE OBJECTS 
double price; 
double payment; 
double change; 

int numofDollars; 
int numofQuarters; 
int numofDimes; 
int numofNickles; 
int numofPennies; 

int coinChange; 


cout << "Enter the purchase total: "; 
cin >> price; 
cout << "Enter the payment: $"; 
cin >> payment; 


// COMMENT THE CALCULATION 
change = payment - price; 
numofDollars = int(change); 
coinChange = (int((change/numofDollars) * 100)); 
numofQuarters = coinChange/25; 
coinChange = coinChange/(numofQuarters * 25); 
numofDimes = coinChange/10; 
numofNickles = coinChange/5; 
numofPennies = coinChange/1; 

// OUTPUT THE INFORMATION 

return 0; 
} 
+4

所以呃...你的問題是什麼? – millimoose 2013-02-12 18:58:38

+1

只需將代碼粘貼到您的問題中,然後輕輕點擊代碼按鈕 – 2013-02-12 18:58:58

+4

歡迎使用StackOverflow!使StackOverflow有點獨特的是它是一個*問題和答案*網站。它不是討論網站,代碼審查網站,也不是作業存儲庫。在StackOverflow上,你問一個問題,人們迴應。你有沒有具體的問題(至少比「我在正確的軌道上嗎?」更具體)?如果是這樣,請編輯你的帖子問問題。 – 2013-02-12 19:00:55

回答

5

是的,你是在正確的軌道上。你的總體結構是健全的。這些家庭作業幾乎總是有這樣的結構:

int main() { 
    // read in the data 
    ... 

    // Do the math 
    ... 

    // Write out the data 
    ... 
} 

你確實有一些數學錯誤。嘗試用鉛筆和紙張穿過代碼,假裝是電腦。另外,試着用你的調試器遍歷代碼,檢查每行之後的變量。比較實際發生的事情與你的預期。

+2

我強烈建議儘可能使用調試器。當程序變得越來越複雜時,知道如何使用斷點,手錶和其他調試工具是必不可少的。 – xcdemon05 2013-02-12 19:06:08

+0

同意。我改變了帖子的語言來反映你的建議。 – 2013-02-12 19:08:24

+0

所以我讓我的程序工作....有點.....當我去運行它....我輸入3.08作爲支付費用10.00,它給了我正確的6.92 .. 。但是,當它分解成美元季度鎳,硬幣和便士,它似乎缺少1毛錢1鎳和1便士.....任何建議? – wisenheimer 2013-02-12 20:00:51