使用 cin 输入数组值

Using cin to input array values

我正在尝试将一个变量用于数组中的大小声明符。我在将数据放入数组时遇到问题。然后会发生的是,我会将数组分成平均值和 return 一个 char 值。我遇到的唯一问题是将数据输入数组。在此先感谢代码。

#include <iostream>

using namespace std;

int average(int&);

char grade(int);

int main()
{
    int array = {};
    int numgrades;
    int total = 0;

    cout << "Enter the number of grades" << endl;
    cin >> numgrades;

    for (int i = 0; i < numgrades; i++) {
        cout << "Enter a numeric grade between 0 - 100" << endl;
        cin >> i;
        total += i;

    }

    int average = total / numgrades;


    char result = grade(average);


    cout << "The grade is " << result << "." << endl;

    return 0;
}

char grade(int avg)
{
    if (avg >= 90) {
        return 'A';
    }
    else if (avg >= 80 && avg < 90) {
        return 'B';
    }
    else if (avg >= 70 && avg < 80) {
        return 'C';
    }
    else if (avg >= 60 && avg < 70) {
        return 'D';
    }
    else
    {
        return 'F';
    }

}

您的代码中存在一些严重问题,这将解决问题:

cin >> numgrades;

int *array = new int[numgrades] ;

for (int i = 0; i < numgrades; i++) {
    cout << "Enter a numeric grade between 0 - 100" << endl;
    cin >> array[i];
    total += array[i];

}

重要的部分是动态创建数组,使用new 语句并传递希望的大小。此外,您的问题在于 cin >> i 行覆盖了 i,而您需要将值保存到 i 处的数组,就像这样 cin >> array[i]

有关在 C++ 中使用动态数据和数组的更多方法,我建议您阅读 std::vector