我在正确的轨道上吗?出纳程序 C++
Posted
技术标签:
【中文标题】我在正确的轨道上吗?出纳程序 C++【英文标题】:am i on the right track? Cashier Program C++ 【发布时间】:2013-02-12 18:55:58 【问题描述】:我是 C++ 新手,想知道我是否走在正确的轨道上?我对此有点困惑,但希望可能对我遗漏/有错的事情提供一些有用的提示……我知道它还没有完全完成,我仍然需要对美元、季度进行细分……等等
问题:收银机使用自动投币机帮助找零。我们假设给店员钱来支付购买费用。对于找零,店员将任何纸币归还给顾客,并指示投币机分发少于 1 美元的找零。在本练习中,您将模拟职员和机器的动作。
在收银台,我们需要访问购买价格和付款。变化,即支付价格和购买价格之间的差额,是一个实数。整个部分代表美元的变化,小数部分是美分的变化,以四分之一、一角、镍和便士的形式返回。例如,支付 10 美元来支付 3.08 美元的购买,所需的零钱为 6.92 美元。店员分发 6 美元,投币机为 92 美分分配 3 个 25 美分、1 个硬币、1 个镍和 2 个便士。
92 = 3(25) + 1(10) + 1(5) + 2
使用实数对象来标识购买价格(price)、支付金额(payment)和零钱(change)。主程序计算找零的数量(coinChange)并将其分成美元(dollars)、夸特(quarts)、角钱(dimes)、镍币(nickels)和便士(pennies)。
您必须为季度(quarts)、角钱(dimes)、镍币(nickels)和便士(pennies)声明常量。您必须在计算中使用复合运算符。您必须使用 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】:是的,你在正确的轨道上。你的总体结构是合理的。这些家庭作业几乎总是有这样的结构:
int main ()
// read in the data
...
// Do the math
...
// Write out the data
...
你确实有一些数学错误。试着用铅笔和纸逐句检查代码,假装你是计算机。此外,尝试使用调试器单步执行代码,检查每一行之后的变量。将实际发生的情况与您的预期进行比较。
【讨论】:
我强烈建议尽可能尝试使用调试器。当程序变得更复杂时,了解如何使用断点、监视和其他调试工具至关重要。 同意。我更改了帖子的语言以反映您的建议。 所以我让我的程序工作了......有点......当我去运行它时......我输入 3.08 作为成本 10.00 作为付款,它给出我是正确的 6.92 总...但是当它分成 1 美分硬币 1 美分硬币和 1 美分硬币时,它似乎缺少 1 美分硬币 1 硬币和 1 便士......有什么建议吗?? 使用调试器并逐行执行您的代码。每个步骤中的变量应该保持什么?他们持有什么?出乎意料的第一件事是什么?为什么会这样?以上是关于我在正确的轨道上吗?出纳程序 C++的主要内容,如果未能解决你的问题,请参考以下文章