2013-10-09 2 views
-2

Мне нужна помощь при закрытии программы, введя «quit»Как ввести «закрыть», чтобы закрыть прогром

например.

while(true) 
{ 
    cout << "enter a name" << endl; 
    std::getline (std::cin,input); 
    if(input =='quit') 
    { 
    break; 
    } 
} 

Это не выход или выход из строя, также как вы не можете сравнить строку с int?

i.e.: while (input! = 'Quit') < < - это тоже не сработает.

+3

На каком языке это? – Troubleshoot

+1

'не может сравнивать строку с int' ... Почему вы не можете сравнивать яблоки с апельсинами? Это разные вещи. Вы можете либо попытаться * конвертировать * вашу строку в int и сравнить, либо наоборот. –

+0

, но мне также нужен мой ввод как строка, потому что я буду сравнивать его с другими переменными позже в коде ..... есть ли способ «выйти» без преобразования в строку? –

ответ

1

quit потребности быть в двойных кавычках, чтобы быть string:

#include <iostream> 

int main() 
{ 
    std::string input; 
    while (true) 
    { 
     std::cout << "enter a name: "; 
     std::getline(std::cin, input); 
     if (input == "quit") 
     { 
      break; 
     } 
    } 
    std::cout << "Broken" << std::endl; 
} 

See it run.

также как вы не можете сравнить string с int.

Поскольку это поведение не определено стандартом . Будет ли "1.0" быть равно 1?

+3

Добро пожаловать в Версию 3 его вопроса. Надеюсь, это не изменит снова недействительный ваш ответ :-) –

+0

ОК, получил его на работу, спасибо. –

+0

@ user2855990: [Добро пожаловать] (http://stackoverflow.com/help/someone-answers) – Johnsyweb