无法让我的C++程序显示输出

Couldn't get my C++ program to display output

本文关键字:程序 显示 输出 C++ 我的      更新时间:2023-10-16

我应该写一个程序,以美分为单位显示用户输入的天数的收入。每天的收入应该翻一番。

我还不知道我的算术是否正确,但是,我的问题是,当我运行代码时,我没有得到计算发生的代码的最后一部分的输出。

非常感谢您的帮助,

#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
using std::fixed;
using std::setprecision;
using std::endl;
int main()
{
    int days = 0;
    double cents = 0.00;
    cout << "Enter the number of days you want income to be calculated for ";
    cin >> days;
    while((days < 1)||(days > 30))
    {
        cout << "nInvalid entry try a number from 1 to 30 ";
        cin >> days;
    }
    while(days!=days)
    {
        cents = (pow(0.01, 2) + cents);
        cout << "nYour income for " << days << " days is " << fixed << setprecision(2)
            << cents << " cents " << endl;
        days++;
    }
    system("PAUSE");
    return 0;
}
while(days!=days)

除了浮点NaN(它被认为等于零,包括它自己),永远不会出现这种情况。

你的循环最好写成(假设你的cents计算是正确的,我还没有检查):

for (int day = 0; day < days; day++) {
    cents = (pow(0.01, 2) + cents);
    cout << "nYour income for " << day + 1 << " days is " << fixed << setprecision(2) << cents << " cents " << endl;
}

我希望这是一个打字错误,或者只是一个误解,但以下条件:

while(days!=days)

永远不会是真的。因此,后面大括号内的代码永远不会被执行。days总是等于days

大家都回答了,你打错了(即. .While (days != days)

正确的显示方法是引入一个可以用作迭代器的新变量。

int day = 0;
while(day != days)
{
    day++;
    ....
}