C ++帮助 - 我似乎无法弄清楚这段代码的最后部分

时间:2011-04-20 00:40:21

标签: c++

我正在尝试让程序显示孩子的当前身高和孩子的估计身高。

我让它显示第一个孩子的前后,但不能让它显示其余孩子的估计身高。

如果有人能帮我解决这个问题,我将非常感激。谢谢!

以下是我的代码:

#include <iostream>

using namespace std;

int main()
{
    double height [10];
    double chgHeight [10];

    for (int x = 0; x < 10; x = x + 1)
    {
        height[x] = 0.0;
        chgHeight[x] = 0.0;
    }

    cout << "You will be asked to enter the heights of ten children."<< endl;

    for (int x = 0; x < 10; x = x + 1)
    {   
        cout << "Enter height of child " << endl;
        cin >> height[x];
    }

    chgHeight[0] = height[0] * .05 + height[0];

    for (int x = 0; x < 10; x = x + 1)
    {   
        cout << "Child " << x+1 << ": Current " << height[x] << " Expected "<< chgHeight[x] << endl;
    }

    system("pause"); 
    return 0;
}

3 个答案:

答案 0 :(得分:3)

chgHeight[0] = height[0] * .05 + height[0];

您只需要设置第一个孩子的chgHeight

修改

对于您的输出,您将浏览由子编号(x)索引的数组或高度:

for (int x = 0; x < 10; x = x + 1)
{   
    cout << "Child " << x+1 << ": Current " << height[x] 
         << " Expected "<< chgHeight[x] << endl;
}

您的估计身高是根据孩子当前身高计算得出的,您在这个循环中有height[x])。所以,你有你需要的一切来输出估计的高度。

如果您以后无需保存计算,则无需在代码中创建第二个chgHeight[]数组;只计算并输出每个孩子在该循环中的估计高度。

答案 1 :(得分:2)

您没有为其余孩子设置估计的身高,只有第一个:

chgHeight[0] = height[0] * .05 + height[0];

把它放在一个循环中。

答案 2 :(得分:1)

chgHeight[0] = height[0] * .05 + height[0];

此行仅计算第一个孩子的估计身高。你也需要将它放在循环中(将索引更改为循环变量)以计算所有10。