Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Листинг 4.5. Пример ветвления с использованием операторов отношений
1: // Листинг 4.5. Демонстрирует использование 2: // инструкции if совместно с операторами отношений 3: #include < iostream.h> 4: int main() 5: { 6: int RedSoxScore, YankeesScore; 7: cout < < " Enter the score for the Red Sox: "; 8: cin > > RedSoxScore; 9: 10: cout < < " \nEnter the score for the Yankees: "; 11: cin > > YankeesScore; 12: 13: cout < < " \n"; 14: 15: if (RedSoxScore > YankeesScore) 16: cout < < " Go Sox! \n"; 17: 18: if (RedSoxScore < YankeesScore) 19: { 20: cout < < " Go Yankees! \n"; 21: cout < < " Happy days in New York! \n"; 22: } 23: 24: if (RedSoxScore == YankeesScore) 25: { 26: cout < < " A tie? Naah, can't be.\n"; 27: cout < < " Give me the real score for the Yanks: "; 28: cin > > YankeesScore; 29: 30: if (RedSoxScore > YankeesScore) 31: cout < < " Knew it! Go Sox! "; 32: 33: if (YankeesScore > RedSoxScore) 34: cout < < " Knew it! Go Yanks! "; 35: 36: if (YankeesScore == RedSoxScore) 37: cout < < " Wow, it really was a tie! "; 38: 39: } 40: cout < < " \nThanks for telling me.\n"; 41: return 0; 42: }
Результат: Enter the score for the Red Sox: 10 Enter the score for the Yankees: 10 A tie? Naah, can't be Give me the real score for the Yanks: 8 Knew it! Go Sox! Thanks for telling me..
Анализ: В этой программе пользователю предлагается ввести счет очков для двух бейсбольных команд. Введенные очки сохраняются в целочисленных переменных. Значения этих переменных сравниваются оператором if в строках 15, 18 и 24.
Предупреждение: Многие начинающие программисты по невнимательности ставят точку с запятой после выражения с оператором if: if (SomeValue < 10); SomeValue = 10; В этом программном фрагменте было задумано сравнить значение переменной SomeValue с числом 10 и, если окажется, что оно меньше десяти, установить его равным этому числу, т.е. зафиксировать минимальное значение переменной SomeValue на уровне 10. При выполнении этого программного фрагмента обнаруживается, что переменная SomeValue (вне зависимости от ее исходного значения) всегда устанавливается равной 10. В чем же дело? А дело в том, что оператор if, вернее, связанное с ним выражение сравнения, оканчивается точкой с запятой, создавая тем самым бездействующую инструкцию. Помните, что для компилятора отступ не играет никакой роли. Приведенный выше программный фрагмент можно переписать по-другому:
if (SomeValue < 10) // проверка ; // пустое выражение, контролируемое оператором if SomeValue = 10; // присваивание
При удалении ненужной точки с запятой последняя строка этого фрагмента станет частью конструкции с оператором if и программа заработает в соответствии с намерением программиста.
Если очки одной команды больше очков другой, на экран выводится соответствующее сообщение. Если сравниваемые очки равны, программа выполняет блок выражений, который начинается в строке 25 и оканчивается в строке 38. В этом блоке снова запрашивается счет очков для команды из Нью-Йорка, после чего вновь выполняется сравнение результатов игры команд. Обратите внимание: если начальный счет команды Yankees превышает счет команды Red Sox, то оператор if в строке 15 возвратит значение false и строка 16 не будет выполняться. Проверка же в строке 18 даст истинный результат (true) и будут выполнены выражения в строках 20 и 21. Затем с помощью оператора if в строке 24 будет проверено равенство очков; результат этого тестирования должен быть ложным (false) (иначе и быть не может, если проверка в строке 18 дала в результате значение true). В этом случае программа пропустит целый блок и перейдет сразу к выполнению строки 39. В данном примере получение истинного результата одним оператором if не избавляет от выполнения проверок другими операторами if.
|