【发布时间】:2016-02-07 02:24:24
【问题描述】:
尝试使用我在下面设置的条件计算利息变量的值,但由于它返回 0 时遇到问题,或者如果我重新排列 for 循环,它会为每个帐户返回 6471。如果您能帮我修复 for 循环,以便在控制台中显示正确的兴趣,那就太好了
#include <iostream>
using namespace std;
int main()
{
int AccountNumber[8] = { 1001, 7940, 4382, 2651, 3020, 7168, 6245, 9342 };
float Balance[8] = { 4254.40, 27006.25, 123.50, 85326.92, 657.0, 7423.34, 4.99, 107864.44 };
int DaysSinceDebited[8] = { 20, 35, 2, 14, 5, 360, 1, 45 };
int interest = 0;
//add your code here
cout << "Account Number\t" << "Balance\t\t" << "Days\t" << "Interest\t" << endl;
for (int i = 0; i < 8; i++)
cout << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;
for (int i = 0; i < 8; i++)
if (Balance[i] > 10000 || DaysSinceDebited[i] > 30)
interest = (Balance[i] * 0.06);
else
interest = (Balance[i] * 0.03);
system("pause");
return 0;
}
这是我的修改:
#include <iostream>
using namespace std;
int main()
{
int AccountNumber[8] = { 1001, 7940, 4382, 2651, 3020, 7168, 6245, 9342 };
float Balance[8] = { 4254.40, 27006.25, 123.50, 85326.92, 657.0, 7423.34, 4.99, 107864.44 };
int DaysSinceDebited[8] = { 20, 35, 2, 14, 5, 360, 1, 45 };
int interest = 0;
//add your code here
for (int i = 0; i < 8; i++)
if (Balance[i] > 10000 || DaysSinceDebited[i] > 30)
interest = (Balance[i] * 0.06);
else
interest = (Balance[i] * 0.03);
cout << "Account Number\t" << "Balance\t\t" << "Days\t" << "Interest\t" << endl;
for (int i = 0; i < 8; i++)
cout << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;
system("pause");
return 0;
}
【问题讨论】:
-
您似乎在计算利息之前就打印了利息。
标签: c++ loops if-statement for-loop