关于硬件伪代码的问题
我有以下问题,而我最困惑的是如何确定检查是否延迟一个月的逻辑。关于硬件伪代码的问题
问题是:
“写伪代码计算的服务费客户的欠写空头支票的程序。程序接受客户的姓名,检查的撰写日期(年,月,日期),当前日期(年,月,日)和支票金额(以美元和美分为单位),程序一直持续到遇到一个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
既然你没有对付天,算法非常简单:用剩下的问题
MonthsLate = (CurrentDate.Year - DateCheckWritten.Year) * 12
+ (CurrentDate.Month - DateCheckWritten.Month)
好运!
我只是想在适当的地方使用它。感谢大家帮助我解决这个问题,我会知道从这里开始做什么。我知道VB.NET/C等,但我仍然有时会因为他们没有使用.Events或引用的例子而期望我解释伪代码而迷失方向。 – eqiz 2010-06-23 22:47:29
我不知道您的问题所在,但我认为你有两个问题需要解决:
- 什么后期的定义?
- 这张支票迟了多少个月?
所以在我的伪代码中,我会有一个决定支票多晚的步骤,然后再计算费用。在第一步中,您可以减去日子并划分。但是,一旦新的一个月出现,方向就会说,这是一个月的时间。所以你真正要做的就是减去几个月。
不知道你在问什么,但看起来你是在寻求指导,而不是代码。希望这可以帮助。
我打算假设这是家庭作业,因此我会尽力指出你朝着正确的方向。
如果您为每个月份指定数字(Jan = 1,Feb = 2等),那么两个日期之间的月数很容易确定 - 在9月(= 9)和5月(= 5)?
另一件需要考虑的事是年 - 每年支票迟到,您还必须再增加12个月。这与几个月的工作方式相同。
需要任何额外的细节,随时让我知道。
Mac-我们在如何从这个意义上逻辑确定它在同一页上,但我很困惑如何说伪代码。 我知道日期输出为8位数字长以下(年,月,日) XXXXXXXX“的例子是SETP 30日2010年将是:20100930 会在psedocode做正确的事情是将单独进入自己的独立值?所以使用以下命令: NUM CurrentDateMonth NUM CurrentDateDay NUM CurrentDateYear NUM CheckDateMonth NUM CheckDateDay NUM CheckDateYear 那么就psedocode减去掉个月,看看有多少等? – eqiz 2010-06-23 22:39:06
简化,打出要点,然后把它分解得越来越多,写下你如何告诉你的奶奶它的工作。
你可能在开始时像
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
家庭作业,也许? – Mac 2010-06-23 22:22:41
这看起来非常严格的语法真的是伪代码。伪代码的目的是让你可以对你写的内容有一些自由,这样你就不必在隐含的东西上浪费时间。诚然,没有任何说你不能用它作为伪代码,我只是说你可能会付出更多的努力使它成为“代码”,而不是你真正需要的。 :) – Amber 2010-06-23 22:22:58
是的家庭作业,我刚刚使用硬件的应用大声笑 – eqiz 2010-06-23 22:25:18