我需要制作一个包含三个功能的程序。
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;
}
}
由于某种原因它不起作用,有人可以告诉我为什么吗?