《C++大学教程(第二版)》练习2.17,balance?余额?
在《C++大学教程(第二版)》里面,我刚刚看到第二章,就遇到这么一个问题:
2.17
开发一个程序,确定商场客户支付的款额是否超过付款账号的信用额度。
对每个客户,提供以下事实:
a)账号(整数)
b)月初结余
c)该客户当月购买的总物品数
d)该客户当月总付款金额
e)允许的信用额度
程序应输入每个信息,计算新结余(月初结余+付款-透支数),确定新结余是否
超过付款账号的信用额度。如果客户的款额超过信用额度,则程序显示该客户
的账号、信用额度、新结余和消息“Credit limit exceeded”。
下面是运行效果示例:
Enter account number (-1 to end): 100
Enter beginning balance: 5394.78
Enter total charges: 1000.00
Enter total credits: 500.00
Enter credit limit: 5500.00
Account: 100
Credit limit: 5500.00
Balance: 5894.78
Credit Limit Exceeded.
Enter account number (-1 to end): 200
Enter beginning balance: 1000.00
Enter total charges: 123.45
Enter total Credits: 321.00
Enter credit limit: 1500.00
这我就不懂了,账号100的那个小子,他的余额还有5394.78之多,只不过买了1000的东西,怎么可能超过信用额度呢,而且他还又存了500呢?
后来我猜是这样:
那个balance根本就不是什么余额,而是持有信用卡的人现在欠款的总额,charges是消费额,credits是持卡人又往卡里存的数目,credit limit是信用额度,这样想就十分合理了,账号100那个小子已经欠了人家5394.78元,他想用这个信用卡买1000.00的东西,可是在此之前他只往卡里存了500.00,而且他的信用额度是5500.00,于是他就超过了信用额度,刷卡机就说:你小子欠的数目已经是5894.78了,超过了5500.00的限额,所以你就Credit Limit Exceeded了。
呵呵,也许我根本就是在胡说八道?因为我根本就没有过信用卡,也没用过信用卡,还请明白这些东东的兄弟姐妹给帮忙解释解释。
谢谢谢谢。