我是在正确的轨道上吗?收银员计划C ++

时间:2013-02-12 18:55:58

标签: c++

我是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;
}

1 个答案:

答案 0 :(得分:5)

是的,你走在正确的轨道上。你的一般结构是健全的。这些家庭作业几乎总是有这样的结构:

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

  // Do the math
  ...

  // Write out the data
  ...
}

你确实有一些数学错误。尝试使用铅笔和纸张逐步执行代码,假装是计算机。另外,尝试使用调试器逐步执行代码,检查每行后面的变量。比较实际发生的事情。