Nebula CommunityСтатьи

Разбор кода Nebula Device2. Часть1. Класс строки (статья 4 - "Не выпить ли кофейку?")

Автор:

"Кофе-машина"


Перед прочтением этой статьи рекомендую пойти и заварить себе кофе. Только не тот  вида перемолотой в муку смолы - уверен его не стали бы пить и местные сторонники практики "бомжевания".  Да и не залейте клавиатуру случайно - она вам еще понадобится!

В этой статье я решил поупражняться дабы лучше запомнить изученные строковые операции класса nString. Дело в том, что мозг обычно готов что-то запоминать, если с запоминаемым объектом происходит какая-то практическая работа. Ну и кофе немного помогает взбодриться.  Чтобы не было так уныло, решил забацать что-то вроде примитивного кофе-автомата. Но для начала опишу еще пару операций, которые понадобятся.
Объекты класса nString можно сравнивать при помощи операций "==", "!=", ">", "<", ">=", "<=". Все они реализованы при помощи strcmp над строками, содержащимися во внутренних буферах двух объектов класса nString. Например:

nString s1("Game");
nString s2("Game");
nString s3("Same");
if (s1==s2); // true
if (s1!=s3); //true

В nString можно размещать целые числа (более подробно в следующей статье) при помощи операции SetInt():

void SetInt(int val);

Ниже я привожу код кофе-автомата. Прежде чем смотреть его, полезно попробовать накидать свою реализацию, если есть цель изучить движок.
В кофе-автомате реализованы следующие команды:
help или несуществующая команда - показать справку
cls - очистка экрана
quit - выход из демо
coffeelist - список доступных типов кофе
have you - запрос определенного типа напитка. Далее просят ввести название ("Cappuccino"  и т.п.)

Кофе-автомат:

+ Показать

Приятного вам кофепития!

24 февраля 2016