我正在尝试编写一些c代码(目标c),它将从用户那里获取银行账户余额和期望的余额,并产生一个值,我可以在当前余额中加或减,以达到理想的平衡.
我觉得我的事情过于复杂,以及我所拥有的......
//get desired amount to variable dblDesiredBalance
//get balance from database to variable balFromDB
double addAmount = fabs(balFromDB) + fabs(dblDesiredBalance);
double minusAmount = fabs(dblDesiredBalance) - fabs(balFromDB);
// create amount to add to db
if (dblDesiredBalance < 0 ) {
if (balFromDB < 0 ) {
dblCommitToDB = balFromDB - minusAmount;
} else {
dblCommitToDB = balFromDB - addAmount;
}
} else {
if (balFromDB < 0 ) {
dblCommitToDB = balFromDB + addAmount;
} else {
dblCommitToDB = balFromDB + minusAmount;
}
}
// update db with dblCommitToDB
Run Code Online (Sandbox Code Playgroud)
谁能帮我 ?
为什么不从简单的代数开始:
current_balance + delta = desired_balance
Run Code Online (Sandbox Code Playgroud)
然后解决delta:
delta = desired_balance - current_balance
Run Code Online (Sandbox Code Playgroud)
这与标志无关 - 你知道代数规则和所有.