In your code above, you have
defined function bubblesort at line 60 like this:
void bubblesort(int randqty[], int random)
That is, it requires two input parameters, the first is an array of integers, the second is an integer.
However, the
declaration on line 9
void bubblesort();
is a function which takes no parameters at all.
As far as the compiler is concerned, these are two different functions.
On line 40, the function is called, with no parameters. The
compiler thinks this is ok, as it matches the declaration on line 9. But the
linker tries to match the function call to the code or the function, but cannot find it.
Hence it is the linker which outputs the error message.
In this case, it looks like the correct version is the one on line 60.
You need to change both the prototype declaration (line 9) and the call on line 40, so they each supply the required parameters, so as to agree with line 60.
Here's a recent thread where the role of the prototype is discussed in a bit more detail:
http://www.cplusplus.com/forum/beginner/88749/#msg476413