我有以下问题,而我最困惑的是,如何确定支票是否延迟一个月的逻辑。
问题是:
“为计算客户服务费用的程序编写伪代码欠写一张坏账。该程序接受客户的姓名,支票的写入日期(年,月,日),当前日期(年份) ,月份和日期),以及美元和美分的支票金额。程序一直持续到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
答案 0 :(得分:1)
由于您不必处理天数,因此算法非常简单:
MonthsLate = (CurrentDate.Year - DateCheckWritten.Year) * 12
+ (CurrentDate.Month - DateCheckWritten.Month)
祝其他问题好运!
答案 1 :(得分:0)
我不确定你的问题在哪里,但我认为你有两个问题要处理:
所以在我的伪代码中,我会有一个步骤来确定支票的延迟时间,然后再计算费用的另一个步骤。在第一步中,您可以减去天数和除数。但是方向说,一旦新的一个月出现,它就会延迟一个月。所以你真正需要做的就是减去几个月。
不确定你还在问什么,但似乎你在寻求指导,而不是代码。希望这会有所帮助。
答案 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