Your loop has various exit conditions, and various looping conditions. Best bet will be to create an infinite while loop and exit it with break statements as appropriate. for eg:
while(true)
{
while(input is invalid)
{
}
if(user wants to exit)
{
break;
}
}