2013-04-07 2 views
0

В следующем случае я хочу, чтобы программа завершила работу, если «условие» меньше 3 в функции2, но на данный момент он просто продолжает выполнение кода после инструкции switch. Как я могу достичь своей цели?Как мне вернуть 0 и завершить функцию?

#include <iostream> 

using namespace std; 

int main() 
{ 
    string answer; 
    int selection; 

    do 
    { 
     cin >> selection; 

     switch(selection) 
     { 
      case 1: 
      function1(); 
      break; 

      case 2: 
      function2(); 
      break; 

      default: 
      break; 
     } 

    cout << "Anything else?" << endl; 
    cin >> answer; 

    }while(!(answer == "no")); 

    return 0; 
} 

void function1() 
{ 
    //do stuff 
} 

int function2() 
{ 
    int condition; 

    cin >> conditon; 

    if(condition < 3) 
    { 
     cout << "That's an error." << endl; 
     return 0; 
    } 
    return 0; 
} 
+0

'выход (0);' <нужно 15 символов> – ApproachingDarknessFish

ответ

1

включают <stdlib.h> в вашем заголовке и положить exit(0) вместо возврата 0, что работает для меня :)

+3

Должно быть '#include ' и 'std :: exit (0)', если мы хотим соответствовать стандартам C++. –

Смежные вопросы