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

1 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;
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*obᵩ 5

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

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

  // Do the math
  ...

  // Write out the data
  ...
}
Run Code Online (Sandbox Code Playgroud)

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

  • 我强烈建议尽可能使用调试器.当程序变得更复杂时,了解如何使用断点,监视和其他调试工具是必不可少的. (2认同)