我走对了吗?出纳程序C++

am i on the right track? Cashier Program C++

本文关键字:程序 C++      更新时间:2023-10-16

我是C++的新手,想知道我是否走对了正轨?我对此有点困惑,但我希望能得到一些有用的提示,告诉我我错过了/错了。。。。我知道它还没有完全结束,我还需要做美元、季度的明细。。。。etc

问题:收银机使用自动投币机来帮助找零。我们假设一个职员拿到钱来支付购物费用。找零时,店员将任何纸币退还给顾客,并指示投币机将少于1美元的零钱分发出去。在本练习中,您将模拟职员和机器的动作。

在收银台,我们需要获得购买价格和付款。这一变化是付款和购买价格之间的差额,是一个真实的数字。整部分代表美元的变化,小数部分是以美分为单位的变化,以25美分、1美分、5美分和1美分为单位返回。例如,支付10美元以支付3.08美元的购买费用,所需的零钱为6.92美元。店员分发6美元,投币机为这92美分硬币分发3个25美分、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;
}

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

int main () {
  // read in the data
  ...
  // Do the math
  ...
  // Write out the data
  ...
}

你确实有一些数学错误。试着用铅笔和纸逐步完成代码,假装就是电脑。此外,请尝试使用调试器逐步执行代码,检查每一行之后的变量。将实际发生的事情与你的预期进行比较。