What's with all of these headers? At least change it to <iostream>. I can't believe this compiles, because you don't put std::cout or std::endl, and you don't use "namespace std" or anything like that.
I think it's Elysia's sig that says not to use this (I don't know why myself). But why not just use "std::cin >> sel;"?
I don't see why you don't just use ints for this, although I guess you're wanting to see if they pressed escape.
If you have "int main()" (like you should), you can't just put "return". It must be "return 0" or something like that.
Anyway, now that I'm complaining about your code , to your original question. Since your functions (opcio1, opcio2, etc.) are not void, they're supposed to return a value.
Since they return a value you could do something like this:
cout <<"How to\n\n"<<endl;
return 0; //Or whatever value you want to return at the end
Hope this helps.
int ret = opcio1(); //If you want to know the return value, otherwise you don't need this
//Now the function has returned, and you can keep doing stuff under "case '1'" until you want to break
Ahhh, too slow.