簡體   English   中英

用於循環和條件語句以計算值

[英]For loop and conditional statement to calculate a value

嘗試使用下面設置的條件為Interest變量計算一個值,但由於它返回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;

}
int interest = 0;

您的代碼首先將interest變量設置為0。

for (int i = 0; i < 8; i++)
    cout << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;

接下來發生的是,您的代碼為每個帳戶打印了interest變量的值。 由於interest設置為0,因此您將看到打印的值0。

代碼中發生的下一件事是第二個循環,在該循環中,您將計算並設置每個帳戶的interest 很好,除了您已經顯示了interest的值。

您需要計算interest 顯示interest ,而不是之前。

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 << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;
}

輸出:

Account Number  Balance         Days    Interest
1001            4254.4          20      127
7940            27006.2         35      1620
4382            123.5           2       3
2651            85326.9         14      5119
3020            657             5       19
7168            7423.34         360     445
6245            4.99            1       0
9342            107864          45      6471

你應該搬家

cout << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;

到第二個循環。 它會打印相同的結果6471,因為您計算了所有值並將其重新放置到一個唯一的變量中,稱為興趣,但是您沒有在每次計算迭代中都顯示該變量,所以6471是最后一個元素的條件給出的最后結果數據向量。 然后,您應該對for循環的每次迭代都表現出興趣,就像:

    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 << AccountNumber[i] << "\t\t" << Balance[i] << "\t\t" << DaysSinceDebited[i] << "\t" << interest << "\t" << endl;
}

此外, 利息必須是浮動的 希望對您有幫助:D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM