我是C ++的新手,想知道我是否走在正确的轨道上?我对此感到困惑,但希望可能有一些有用的暗示我错过/错了......我知道它没有完全完成我仍然需要做美元,宿舍的细分....等
问题:收银机使用自动投币机来帮助改变。我们假设一名职员交钱付钱购买。如需更改,店员会向客户返还任何纸币,并指示投币机分发任何少于1美元的更改。在本练习中,您将模拟职员和机器的动作。
在收银台,我们需要访问购买价格和付款。这种变化是付款和购买价格之间的差异,是一个实数。整个部分代表美元的变化,而小部分则是以季度,硬币,镍币和硬币返回的美分变化。例如,支付10美元以支付3.08美元的购买额,所需的更改为6.92美元。店员分发6美元,硬币机分配3个季度,1毛钱,1个镍和2个便士,售价92美分。
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;
}
答案 0 :(得分:5)
是的,你走在正确的轨道上。你的一般结构是健全的。这些家庭作业几乎总是有这样的结构:
int main () {
// read in the data
...
// Do the math
...
// Write out the data
...
}
你确实有一些数学错误。尝试使用铅笔和纸张逐步执行代码,假装你是计算机。另外,尝试使用调试器逐步执行代码,检查每行后面的变量。比较实际发生的事情。