Ehm, my English is not very good, but I'll try to understand your question. If you reach the line with "goto master", then the program goes to the line labeled "master", but it doesn't. Perhaps that is because _new_account() returns 0? In that case the next case will be executed. To prevent from executing, you should use the keyword break.
Code:
switch (condition)
{
case X:
/* Action */
break;
case Y:
/* Action */
break;
default:
/* Action */
break;
}
BTW, why do you use goto? Also use code-tags, they make code more readable.
Code:
int main ()
{
int result = 0;
while (result != 1)
result = _validate_master ();
/* If the while-loop above finishes, then result == 1 */
while (result != 0)
{
switch (_master_menu ())
{
case 1:
result = _newaccount ();
break;
case 2:
result = _cust_cntrl ();
break;
default:
break;
}
}
return 0;
}