开发者

C++ help. I'm having problems getting this right

Here is the code that I have so far. What I'm trying to do is make the program display the number of children over 60 inches and their height. The program now shows the number of children over 60 inches, but I also need it to display the height of the children over 60 inches. Thanks in advance!

#include <iostream>
using namespa开发者_StackOverflowce std;
int main ()
{
    double childHeight[10];
    int numChildren = 0;

    for (int x = 0; x < 10; x = x + 1)
    {
        childHeight[x] = 0.0;
    }
    cout << "You will be asked to enter the height of 10 children." << endl;
    for (int x = 0; x < 10; x = x + 1)
    {
        cout << "Enter the height of child: ";
        cin >> childHeight[x];
    }
    cout << "The number of children over 60 inches are: "<< endl;
    for (int x = 0; x < 10; x = x + 1)
    {
        if (childHeight[x] > 60)
        {                
           numChildren = numChildren + 1;                
        }  
    }
    cout << numChildren << endl;
    system("pause"); 
    return 0;
}


That's very close, a good first attempt if it's homework, so I don't mind helping out a bit.

You already have a loop that goes through your array checking the heights so it's a simple matter of adding to that, so that you:

  • also output the heights over 60 when detected; and
  • make slight changes to what's printed so that it makes sense in that order.

Change:

cout << "The number of children over 60 inches are: " << endl;
for (int x = 0; x < 10; x = x + 1)
{
    if (childHeight[x] > 60)
    {                
       numChildren = numChildren + 1;                
    }  
}
cout << numChildren << endl;

to:

cout << "The heights of children over 60 inches are: " << endl;    // ADD
for (int x = 0; x < 10; x = x + 1)
{
    if (childHeight[x] > 60)
    {                
       numChildren = numChildren + 1;                
       cout << "    " << childHeight[x] << endl;                  // ADD
    }  
}
cout << "The number of children over 60 inches are: " << endl;    // MOVE
cout << "    " << numChildren << endl;                            // CHNG

The change to the output of numChildren was simply to add spaces, a nice formatting touch. This should result in output something like:

The heights of children over 60 inches are:
    62
    67
The number of children over 60 inches are:
    2

Some minor advice which doesn't affect your code performance at all, but I don't think I've seen x = x + 1 for decades. The C and C++ way of doing this is generally ++x.

In addition, I tend to prefer \n to endl in most cases. The latter (see here) outputs an end of line and flushes the buffers, which can be inefficient is some circumstances.


You just need another for loop like the one that counts the tall children, only instead of counting, in the body you can print the height.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜