0 / 0 / 2
Регистрация: 06.02.2012
Сообщений: 37
|
|
1 | |
Оптимизация условия цикла while06.02.2012, 21:01. Показов 2705. Ответов 10
Метки нет (Все метки)
Доброго времени суток, друзья! Я еще совсем новичок в С++. Подскажите плз как оптимизировать следующее условие выхода из цикла while. Уж очень громоздко выглядит, и что-то внутри меня подсказывает что это можно как-то сократить
char ch = 'a'; while (ch != 42 && ch != 43 && ch != 45 && ch != 47)
0
|
06.02.2012, 21:01 | |
Ответы с готовыми решениями:
10
Оптимизация цикла for Оптимизация цикла for Условия остановки цикла Условия цикла в функции |
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
|
||||||
06.02.2012, 21:42 | 2 | |||||
так например?
0
|
86 / 86 / 6
Регистрация: 14.01.2011
Сообщений: 265
|
|
06.02.2012, 21:46 | 3 |
0
|
145 / 142 / 11
Регистрация: 11.09.2011
Сообщений: 411
|
||||||
06.02.2012, 21:56 | 4 | |||||
по мне так нормальное условие. для удобного чтения можешь так написать:
1
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
|
|||||||||||
06.02.2012, 21:59 | 5 | ||||||||||
а че объявление символьное а проверка числовая
а значения точно десятичные???(шеснадцетиричные пишут так 0x42) упростить не получится а проще записать так
если имел ввиду шеснадцетиричное то
1
|
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
|
||||||
06.02.2012, 22:38 | 6 | |||||
Если всяких значений ch может быть очень много, то можно все "нежелательные" символы завести в строку и искать в ней или ch не равняется какому-то символу.
2
|
0 / 0 / 2
Регистрация: 06.02.2012
Сообщений: 37
|
||||||||||||||||
06.02.2012, 23:34 [ТС] | 7 | |||||||||||||||
да, видимо ничего красивее чем
А на что проверять, на символы, на десятеричную или шестнадцатеричную, это мне кажется не суть, запись от этого не сократится. Спасибо всем за ответы! Если что, то писал калькулятор:
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
|
|
07.02.2012, 00:32 | 8 |
запись не сократится(может даже увеличится из за кавычек)
но понятно будет что ты имел ввиду не надо комментировать а так другой человек с ходу не поймет да и сам через полгода будешь вспоминать что написал самодокументированая программа, однако Добавлено через 2 минуты а что будет если я букву нажму ???
0
|
0 / 0 / 2
Регистрация: 06.02.2012
Сообщений: 37
|
|||||||||||
07.02.2012, 01:55 [ТС] | 9 | ||||||||||
ХА! сейчас проверю))
P.S.: насчет понятности ты прав.. реально же потом сходу не пойму что это математические действия. Добавлено через 8 минут Выдает: Enter the first number, an action and the second number: b-50 Result: 50-50=0 Continue? (y/n): Оно и понятно, у 'b' аски код 98, потом я вычитаю из него 48, и остается 50. И вот результат. Можно конечно вставить условие чтобы num1 и num2 содержали только символы от 0 до 9. Но сейчас такой цели не стоит, так что не буду заморачиваться) Добавлено через 1 час 6 минут Я только что открыл для себя магию дэвида блэйна! Друзья, как так? Т.е. оператор
Вот написание моего калькулятора (ответ из книжки):
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
|
|||||||||||
07.02.2012, 06:31 | 10 | ||||||||||
вот здесь можно добавить проверку на большую букву
вот здесь добавить еще одну ветку (по умолчанию) если будет введен не правильный act
0
|
0 / 0 / 2
Регистрация: 06.02.2012
Сообщений: 37
|
|
07.02.2012, 08:56 [ТС] | 11 |
да, спасибо за ответ
P.S.:пошел изучать работу cin))
0
|
07.02.2012, 08:56 | |
07.02.2012, 08:56 | |
Помогаю со студенческими работами здесь
11
Оптимизация цикла по скорости Проверка условия окончания цикла for Цикл внутри условия цикла Проверка условия внутри цикла Условия цикла for, числа double Завершение внешнего цикла из внутреннего условия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |