![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
Добрый всем вечер.
Такой код:
Что здесь неправильно? Подскажите плиз --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
-------------------- Жизнь - печальная штука. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
В Си нет множественных вариантов в case. Пиши так:
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
тут возникает другая проблема...
из-за второго case выдается ошибка "too much characters in constant"... если написать просто 'числ' (т.е. без точки) то всё работает, а мне надо с точкой почему это ошибка и как её исправить? --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
DESert, потому что switch не работает со строками. А 'числ' — это не строка, а целочисленная константа.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
ясно...
Void, а как тогда быть? Это будет работать?
--------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| ZeusAtVingrad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Т.е. 'числ.' - это строка, а 'числ' - константа? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
ZeusAtVingrad
В Си символ(ы) в одиночных кавычках — константа типа int. В C++ — типа char. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
Ну а так почему в Си++ не работает 'числ.' ???? ведь это типа char.... --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
DESert, потому что char — это не строка, это символ. Сделай так:
Не самый эффективный метод, но для небольшого числа строк пойдет. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| DESert |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 6.12.2005 Где: Москва Репутация: нет Всего: 1 |
Void, спасибо большое
Но у меня достаточно большое количество строк можно ли как-то по-другому? А что если использовать тип CString?... этот тип ведь строка.... или символ? --------------------
Трудись, и будешь счастлив ты! |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
DESert, э-э… не заморачивайся
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| ZeusAtVingrad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
И чем в данном контексте отличаются: 'числ' и 'числ.'? Почему одно можно сравнивать с числом, а второе - нет? Только из-за точки? И вообще, что это за символьная константа с четырьмя (пятью) символами? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Тем, что четырые символа помещаются в int, а пять — нет.
Implementation defined. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: 1 Всего: 3 |
так сделай тогда так:
-------------------- я не гольфист - я хоккеист |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |