C ++数组参数和const值

时间:2013-11-27 14:00:02

标签: c++ arrays

我没有数组,我确定有更简单的方法来制作这个程序,但我必须按照老师的方式去做,我迷路了。

这是分配: Assignment

我不明白我应该如何处理这些数组。到目前为止我看到的最令人困惑的事情。 我想要的是如何编程这些数组或如何编程数组期间的指南或帮助。我没有要求为我做其余的工作,我已经知道如何做大部分工作,只是我喜欢知道该怎么做的数组。

这是我目前的计划:

#include<iostream>
using namespace std;

void getPoints(int pPossible[], double pEarned[], int numItems, int limit);
int sumArray(double



void getpoints(int pPossible[], double pEarned[], int numItems, int limit)
{
        int count;

    while (limit == limit)
    {
        cout << "Input grade points for a category in the gradebook: " << endl
            << "How many items available in the category?: ";
        cin >> numItems;
        cout << endl;

        if(numbItems > limit)
        {
            cout << "The Value exceeds the maximum number of items." << endl;
            continue;
        }
        break;
    }

    count=1;

    for(count=1; count<numItems; count++)
        cout << "Enter points then points possible for Item " << count << ": ";
        cin << pEarned[count] << pPossible[count];

   return 0;
}

1 个答案:

答案 0 :(得分:0)

C ++数组索引从零开始,因此您应该在for循环中使用零作为初始值。此外,你错过了for循环体的大括号;实际上,它只会运行cout行numItem-1次和cin行。

另一件事:for的cin行中的运算符应为>>,而不是<<。你想在这里输入,而不是输出。

最后,就像@ebyrob所说的那样,使numItems成为一个引用参数(调用者使用指针会更清楚,但是赋值要求引用参数)。

void getpoints(int pPossible[], double pEarned[], int& numItems, int limit)
{
    //Read number of items
    while (true)
    {
        cout << "Input grade points for a category in the gradebook: " << endl
            << "How many items available in the category?: ";
        cin >> numItems;
        cout << endl;    
        if(numItems >= limit)
        {
            cout << "The Value exceeds the maximum number of items." << endl;
            continue;
        }
        break;
    }
    //Read earned and possible for each item
    for(int count=0; count<numItems; count++)
    {
        cout << "Enter points then points possible for Item " << count << ": ";
        cin >> pEarned[count] >> pPossible[count];
    }
    return 0;
}