In addition to the other things mentioned, read up on loops. You can use them instead of goto and labels, as you have here:
Code:
start:
cout << "Please input your first number and press enter" << endl; //Prints a request for the input, and then starts a new line
start2:
cout << "Input: "; cin >> input; //Takes the input
int num1 = inp(input, num, 0);
if (num1 == -1) {goto start;}
All of this could be contained within a small loop, which would be a much cleaner solution all-round and improve readability of your whole program. As well as that, your style is somewhat inconsistent when it comes to control flow structures that only execute a single statement. You have all of these throughout your program:
Code:
for (i = 0; i <= 99; i++)
{
tot = tot + num[i];
}
Code:
if (num1 == -1) {goto start;}
Code:
for(i = 1; i <=20, i++)
{cout << out[i];}
You really need to pick a single style and stick with it. The first one is fine, but the second and third generally cause people frustration. It's common practice to either go with the first one (or the K&R-style alternative with the opening brace on the same line as the condition) or do the following, which is syntactically legal in C and C++ and generally accepted:
Code:
for (i = 1; i <= 20, i++)
cout << out[i];
Be aware, however, that this is only applicable for a single statement. If you need to execute more than one statement when the condition is met, then you
must include braces. Most importantly, remember to be consistent throughout your whole program (and if you're contributing to someone else's program, make sure to follow the style that they use to maintain consistency).