数组不起作用的函数

时间:2015-04-29 05:50:35

标签: c++ arrays string function

我需要制作一个包含三个功能的程序。

main函数应调用第二个函数,将数组作为第一个参数传递给它,将数组中的元素个数作为第二个参数传递。

第二个函数在数组中传递,并在数组中传递元素数。该函数应该从用户获得8个名称,并返回读回main的名称数。使用return语句执行此操作。

在第二个函数填充数组之后,main应该调用第三个函数,将数组作为第一个参数传递,第二个函数返回的值作为第二个参数。

第三个函数应该在计算机屏幕上的不同行上显示数组中的名称。第三个函数作为第一个参数在数组中传递。第二个参数是要显示的数组中的元素数。

main函数有一个包含10个元素的数组。第二个函数传递了10个元素的数组,但只读取了8个元素。第二个函数读入的数字将返回main。 Main然后传递数组,并将从第二个函数返回的值返回到第三个函数。

到目前为止,我的代码是:

#include <iostream>
#include <string>

using namespace std;


int main()
{
// get the names and store them in the array
int const arraySize(10);
int names = 8;          
string array[arraySize];

// send to second function
recievenames(array, arraySize);

// send to third function
displaynames(array, 8);

return 0;
}


int recievenames(string array[], int arraySize)
{
int names = 0;

// Get names.
for (int count = 0; count < 8; count++)
{
    cout << "Enter name " << (count + 1) << " of 8: ";
    cin >> array[count];

    if (count < 8)
    {
        names++;
    }
}
// Display amount of names entered.
cout << names << " received.";
}

void displaynames(string array[], int names)
{
// Display names entered in array.
for (int count = 0; count < names; count++)
{
    cout << array[count] << endl;
}
}

由于某种原因它不起作用,有人可以告诉我为什么吗?

0 个答案:

没有答案