当前位置: 首页 > 知识库问答 >
问题:

循环结束后对变量值求和

宰父俊民
2023-03-14

你好,这是我的程序的目的:

编写一个程序,计算三个月期结束时储蓄账户的余额。它应该向用户询问起始余额和年利率。然后,循环应在此期间每月迭代一次,执行以下步骤:

a)向用户索要当月存入账户的总金额,并将其添加到余额中。不接受负数。

B) 询问用户当月从账户中提取的总金额,并从余额中减去。不接受负数或当月存款加进去后大于余额的数字。

C) 计算当月的利息。月利率是年利率除以12。将月利率乘以该月起止余额的平均值,得到该月的利息金额。该金额应添加到余额中。

在最后一次迭代之后,程序应显示一个包含以下信息的报告:

  • 三个月期间开始时的起始余额
  • 三个月内的存款总额
  • 这三个月的提款总额
  • 这三个月内帐户的利息总额
  • 最终余额

我遇到的问题是,在最后显示表时,我的存款、取款总额以及利息金额仅显示循环结束时的最后一个实例,而不是三个月的总金额。这是我的代码,如果不必要的复杂或混乱,请原谅。

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
//variables
double depositAmount;
double withdrawAmount;
int monthPeriod = 3;
double startBalance;
double finalBalance;
double totalBalance;
double annInterestRate;
double monthInterestRate;
double monthInterestAmount;
double monthAverageBalance;
double monthAverageAmount;
int count;

cout << "What is your starting balance?   ";
cin >> totalBalance;
cout << "What is your annual rate?  "; 
cin >> annInterestRate;

for (count = 1; count <= monthPeriod; count++)
{
    cout << "Enter total amount deposited for the month  ";
    cin >> depositAmount;
    while (depositAmount < 0)
    {
        cout << "Error, no negative amounts, please try again." << endl;
        cin >> depositAmount;
    }
    cout << "Enter total amount withdrawn for the month  ";
    cin >> withdrawAmount;
    while (withdrawAmount < 0 || withdrawAmount > totalBalance)
    {
        cout << "Error, no negative amounts or withdrawals greater than your balance. Please try    again" << endl;
        cin >> withdrawAmount;
    }
    startBalance = totalBalance + depositAmount;
    finalBalance = totalBalance - withdrawAmount;
    totalBalance = startBalance - finalBalance;
    monthInterestRate = annInterestRate * 12;
    monthAverageBalance = (startBalance + finalBalance) / 2;
    monthInterestAmount = monthAverageBalance * monthInterestRate;
    totalBalance = monthInterestAmount + totalBalance;
}
cout << "Your starting balance at the beginning of three months " << startBalance << endl;
cout << "Total deposits over three months  " << depositAmount << endl;
cout << "Total withdrawals over three months  " << withdrawAmount << endl;
cout << "Total interest posted to account over three months " << monthInterestAmount << endl;
cout << "Final Balance: " << totalBalance << endl;
cout << "Thank you for using the program!" << endl;
return 0;
}

共有1个答案

隆飞宇
2023-03-14

这似乎是一个硬件问题,所以也许我会给出一个提示。提示:累积每月存款的变量是什么?

另外,一个不请自来的答案:您的月利率可能不是12*年利率,可能是年利率/12。希望这有所帮助。

 类似资料:
  • 问题内容: 我正在用while循环编写奇数或偶数程序。我试图弄清楚如何以某个数字结束while循环。现在我有1个继续循环,并尝试使2终止循环。还试图弄清楚如果用户键入除字母/单词之类的数字以外的任何内容,如何终止程序。 问题答案: 您可以尝试的另一件事是,您可以继续要求用户输入正确的输入,而不是退出程序,只有在输入正确的输入后才继续操作。我不知道您的要求是什么,但是如果您想通过良好的代码习惯进行操

  • 我的代码是: 这似乎不会在我的变量列表中循环。有什么想法吗?提前致谢

  • 我正在尝试制作一个简单的程序,它使用扫描器进行输入,并有一个while循环,该循环继续输入,直到输入结束字符为止。我想让扫描器接受输入并将一个字符串添加到堆栈列表中。我试图弄清楚为什么这段代码在键入空格时不终止while循环。

  • 我是JQUERY新手,假设我在php中dd()后面有一个数组,它显示如下数组:1[0=>"1,18,187,188,189,190,191,192,194,199,196,199,199,199,200,201,202,204,205,206,207,208,209,210,211,212,19,20,21,22,23,24"]现在我喜欢循环数组,只传递那些大于200值;这是密码 其中#UserD

  • 问题内容: 我想问这个问题,因为我不确定我是否正确使用了Node.js逻辑 我有一组ID,需要使用redis的get方法进行查询。在检查了某个值之后(假设我正在检查通过给定的“键”获取的对象是否具有空名称),然后将它们添加到列表中。这是我的示例代码; 但是由于Node的异步特性,正如预期的那样,如果不检查列表中的每个id,它将执行“ Goes here …”。我的需要是在检查每个id之后应用其余过