关于HW的伪代码的问题

时间:2010-06-23 22:20:02

标签: pseudocode

我有以下问题,而我最困惑的是,如何确定支票是否延迟一个月的逻辑。

问题是:

“为计算客户服务费用的程序编写伪代码欠写一张坏账。该程序接受客户的姓名,支票的写入日期(年,月,日),当前日期(年份) ,月份和日期),以及美元和美分的支票金额。程序一直持续到eof值为止。服务费是20美元加上支票金额的2%,加上每个月通过的5美元因为支票已经写好了。一个月开始时,支票就会延迟一个月 - 所以9月30日写的一张不好的支票是10月1日过期的一个月。“

到目前为止,我现在写的是:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof

4 个答案:

答案 0 :(得分:1)

由于您不必处理天数,因此算法非常简单:

MonthsLate = (CurrentDate.Year - DateCheckWritten.Year) * 12 
                  + (CurrentDate.Month - DateCheckWritten.Month)

祝其他问题好运!

答案 1 :(得分:0)

我不确定你的问题在哪里,但我认为你有两个问题要处理:

  1. 迟到的定义是什么?
  2. 这次检查已经晚了几个月?
  3. 所以在我的伪代码中,我会有一个步骤来确定支票的延迟时间,然后再计算费用的另一个步骤。在第一步中,您可以减去天数和除数。但是方向说,一旦新的一个月出现,它就会延迟一个月。所以你真正需要做的就是减去几个月。

    不确定你还在问什么,但似乎你在寻求指导,而不是代码。希望这会有所帮助。

答案 2 :(得分:0)

我会假设这是作业,因此我会试着指出你正确的方向。

如果您为每个月分配数字(Jan = 1,Feb = 2等),那么两个日期之间的月数很容易确定 - 九月(= 9)和五月(= 5)之间有多少个月)?

要考虑的另一件事是年 - 每年检查迟到,你还需要再增加12个月。这与几个月一样。

需要任何额外的细节,请随时告诉我。

答案 3 :(得分:0)

简化,点击要点,然后越来越多地分解它,写下你如何告诉奶奶它的工作原理。

你可能会从

开始
Start
While there are more bad checks
  get the service charge 
  add the service charge to the account
record the updates

get the service charge
  charge starts at $20
  add to the charge $5 multiplied by number of months