Los errores que me tiran es que declaras algunas funciones pero no las implementas.
si pones su prototipo debes poner la definicion.
Te arregle el caso de la suma, tu arregla los otros.
Código C++:
Ver original#include <iostream>
#include <windows.h>
using namespace std;
int a;
int b;
void suma();
//void resta();
//void por();
//void div();
int main(){
inicio:
int operacion;
cout << "Elija la operacion que desea:\n";
cout << "Suma[1]\nResta[2]\nMultiplicacion[3]\nDivision[4]\n";
cin >> operacion;
if (operacion > 4) {
cout << "Esa opcion no existe\n";
goto inicio;
}
switch (operacion) {
case 1:
suma();
break;
case 2:
//resta();
break;
case 3:
//por();
break;
case 4:
//div();
break;
default:
break;
}
return 0;
}
void suma(){
cout << "Ingrese el primer numero a sumar: ";
cin >> a;
cout << "\nIngrese el segundo numero a sumar: ";
cin >> b;
cout << "El resultado es: " << a + b;
}
Y no te olvides poner los break en cada caso y ademas es obligatorio poner el default o te puede colgar el programa si entras una opción invalida en el menú como puede ser elegir el 5 que no existe.
Si vas a imprimir el resultado no hace falta que las funciones retornen nada sino que pueden ser void mismo.
Y no uses goto nunca mas en tus programas que para eso esta el control de flujo(for,while,do-while...) XDD
en fin creo que esta todo ok ¿No?