首页 文章

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

提问于
浏览
1

我是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 回答

  • 5

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

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

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

相关问题