LINUX.ORG.RU

c++ проблемма с вводом(


0

2

Пишу программу в Code::Blocks но беда, при вводе в консоль ничего не работает: char texo; if (menu == 7) { cout << «Консоль: » << endl; cin >> texo;

if (texo == 'help') { cout << «Список команд: » << endl; cout << «go - Вывод на экран ссылки на официальный сайт» << endl; }

}

когда ввожу help не выводится список команд....

Посмотри, что получится из

char texo = 'help';
cout << texo << endl;
Тогда поймёшь, что тут не так.

IvS
()
Последнее исправление: IvS (всего исправлений: 1)

Отформатируй сообщение, пожалуйста

char texo

Это символ, а не строка. Открой учебник по C++ и прочитай заново основы.

UVV ★★★★★
()
Последнее исправление: UVV (всего исправлений: 1)

И ещё строки не сравнивай через '==', это может не сработать в некотоых случаях. Используй strcmp

IvS
()
Ответ на: комментарий от IvS

я уже понел в чём пробелма, char принимает только 1 символ( хотя это написали выше.

Hellcat
() автор топика
Ответ на: комментарий от Hellcat

строка - это массив символов, ещё можешь использовать тип string.

mbivanyuk ★★★★★
()
Ответ на: комментарий от IvS

Используй strcmp

Он же на плюсах хочет! Вот ты ему плюсы и советуй.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от UVV

В любом случае '==' не канает. Хоть С, хоть кресты. Там уж кто как привык строки сравнивать. Можно юзать string::compare, можно вообще извратиться и перегрузить оператор ==

IvS
()
Ответ на: комментарий от IvS

В любом случае '==' не канает. Хоть С, хоть кресты.

Не сочетается с

Можно юзать string::compare, можно вообще извратиться и перегрузить оператор ==

выделенное слово неверно, это и есть c++ way.

UVV ★★★★★
()

А раздел Development для кого?

В треде норкоманы, советуют всякий C кошмар в плюсах.

anonymous
()
Ответ на: комментарий от UVV

Ок, видимо последние джва года кодинга на perl и java заставили меня забыть всю упоротость С++ way.

IvS
()
Ответ на: комментарий от anonymous

В треде норкоманы, советуют всякий C кошмар в плюсах.

И ручную перегрузку оператора == вместо использования класса string, где усе сделано за вас!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ты не передёргивай. Безусловно string нужно юзать, где перегружен == оператор.

UVV ★★★★★
()
Ответ на: комментарий от Hellcat

Ответ на вопрос тебе дали - юзай string.

А править этот код смысла нет, надо править всё. Почитай про switch/case...

IvS
()
Ответ на: комментарий от Hellcat

Тебе писали, но в силу совершенного непонимания С и С++,ты не смог понять советов, что тебе дали.

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)
1 ноября 2014 г.
Ответ на: комментарий от IvS

Во всех случаях не сработает. Нужно использовать QString вместо того убожества.

LongLiveUbuntu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.