Файл mainfile.Cpp
#include "stove.h"
#include <conio.h>
#include <locale.h>
int main()
{
setlocale(0,"RUS");
stove MyStove;
MyStove.Run();
return 0;
}
Содержание отчёта
1. Титульный лист.
2. Условие лабораторной работы.
3. Текст программы.
4. Экранные формы с примерами работы программы.
Варианты заданий.
1. Трамвай
Имеется две кнопки: управления: газ и открытие/закрытие дверей. Если двери трамвая закрыты и водитель нажимает «газ», то трамвай начинает движение в пределах одной минуты. Если водитель во время движения нажимает «газ», то трамвай дополнительно движется одну минуту. Если двери открыты, то трамвай с места тронутся не может. Внутри трамвая есть освещение, которое работает во время остановки и отключается во время движения (но не во время простоя с закрытыми дверями). Во время движения двери открыться не могут. Если время прошло трамвай останавливается. Начальная конфигурация: трамвай стоит, двери закрыты.
2. Лифт
В лифте есть 9 кнопок, соответствующих этажам, и кнопка открытия/закрытия дверей. Нажатием на каждую кнопку сопровождается движение лифта на соответствующий этаж. Движение от этажа к этажу осуществляется в течение одной минуты (в условных единицах времени). Двери могут открываться во время остановки и не могут – во время движения. При нажатии кнопки этажа с открытыми дверьми двери автоматически закрываются. С одного этажа на один и тот же этаж лифт в движение не приводится. Счётчик этажей реализовать визуально. Начальная конфигурация: лифт на первом этаже двери открыты.
3. Светофор
Светофор может иметь 4 состояния: «красный», «жёлтый», «зелёный», «жёлтый мигающий». Светофор управляется вручную оператором с помощью 3-х кнопок. Две кнопки – это кнопки управления движением Ý и ß, которыми оператор переключает состояния «красный», «жёлтый», «зелёный» в соответствии с их нормальной последовательностью (кр-жёл-зел или зел-жёл-кр, кр-жёл-кр, зел-жёл-зел, но не кр-зел, зел-кр). При нажатии на третью кнопку «работа» светофор переключается с любого состояния в состояние «жёлтый мигающий». В этом состоянии нажатие на кнопки Ý и ß ничего не вызывает. Из состояния «жёлтый мигающий» нажатием кнопки «работа» светофор переключается в состояние «жёлтый». Начальная конфигурация состояние: «жёлтый мигающий».
4. Принтер
Принтер имеет две кнопки: «печать» и «заправка бумаги». Печать происходит в течение 1 минуты. Печать без заправленной бумаги производиться не может. Во время печати можно заправить ещё один лист. Во время печати нажатием на кнопку «печать» ничего не производится. Если бумага заправлена, то повторно заправляться не может. Начальная конфигурация: принтер без бумаги.
5. Автомат Калашникова.
Автомат имеет спусковой механизм (курок) и рычаг переключения «одиночный выстрел» ‑ «автоматическая стрельба». При нажатии на курок в зависимости от рычага переключения автомат выстреливает:
- 1 пулю при «одиночный выстрел»;
- 5 пуль при «автоматическая стрельба».
Если обойма пуста, то стрельба производится не может и необходимо сменить обойму. Ёмкость обоймы 30 патронов. Если в обойме осталось менее 5 патронов, то при «автоматической стрельбе» выстреливаются все остающиеся. Две обоймы заправлять одновременно нельзя. Начальное состояние: обойма полна т.е. 30 патронов и рычаг переключен в состояние «одиночный выстрел».
6. Кондиционер
Кондиционер имеет 3 кнопки: кнопка режима (холодный/горячий воздух); кнопка питания; кнопка работы. Кнопка режима действует только при выключенном питании. Кнопка работы приводит кондиционер в работу на одну минуту и только когда включено питание. Повторное нажатие на эту кнопку добавляет ещё одну минуту времени. При включенном питании нажатие на кнопку питания приводит к отключению кондиционера, обнулению счётчика времени и выключению питания. При выключенном питании нажатие кнопки питания приводит к включению кондиционера. Начальное состояние: питание выключено, режим – холодный воздух.
7. Стиральная машина
Стиральная машина имеет три кнопки: кнопка «стирка», кнопка «отжим», кнопка «режим». Кнопка «режим» предназначена для стирки и переключает режимы: «нормальная стирка» и «споласкивание». При нажатии на кнопку «стирка» машина начинает стирать (споласкивать) в зависимости от режима: 5 минут, если «нормальная стирка», и 3 минуты, если «споласкивание». Во время стирки нажатие на любые кнопки ни к чему не приводит. При нажатии на кнопку «отжим» машина начинает выжимать бельё в течение 3 минут. Во время отжима можно переключать режим стирки. Во время простоя можно нажимать все три кнопки. Начальная конфигурация: режим «нормальная стирка».
8. Фотоаппарат
Фотоаппарат имеет две кнопки: «фото» и «перемотка». Фотоплёнка имеет ёмкость 10 кадров. Нажатием на кнопку «фото» фотоаппарат делает снимок. При нажатии на кнопку «перемотка» фотоаппарат прокручивает плёнку на один кадр вперёд. Без перемотки делать снимок фотоаппарат не может (кроме первого кадра). Без снимка фотоаппарат также не может сделать перемотку. После снимка последнего, 10 кадра, перемотка не работает, пока не будет заменена фотоплёнка. Пока не будет отснята вся плёнка, её также нельзя заменить. Если фотоаппарат пуст (нет плёнки), то нажатие на кнопки ничего не дает. Начальная конфигурация: фотоаппарат пуст.
9. Троллейбус
Имеется три кнопки управления: «газ», открытие/закрытие дверей и «свет в салоне». Если двери троллейбуса закрыты и водитель нажимает «газ», то он начинает движение в пределах одной минуты. Если водитель во время движения нажимает «газ», то троллейбус дополнительно движется одну минуту. Если двери открыты, то троллейбус с места тронутся не может. Во время движения двери открываться не могут. Если время истекло, троллейбус останавливается. Двери можно открыть, только включив свет в салоне, закрыть, только когда свет отключен. Начальная конфигурация: троллейбус стоит, двери закрыты, освещение выключено.
10. Спортивный тренажёр
Тренажёр представляет собой снаряд для бега или ходьбы со звуковым сопровождением шагов. Имеется 2 кнопки управления: кнопка «время +1 мин», «режим бег/ходьба» и переключатель скорости 1-2-3. Кнопка «время +1 мин» включает тактовый генератор на 1 минуту или добавляет 1 мин, если он был уже включен. В режиме шагов генератор выдаёт импульсы с частотой 60 шагов в минуту не зависимо от показания тумблера скорости. В режиме «бег» генератор создаёт импульсы с частотой:
– 120 шагов в минуту на 1 скорости;
– 180 шагов в минуту на 2 скорости;
– 240 шагов в минуту на 3 скорости.
При этом во время бега тумблер скорости можно переключать только после 1 минуты бега. Начальная конфигурация: «ходьба» , 1-я скорость.
11. Переносная печь «Мечта»
Печь имеет левую и правую конфорки и духовку. Одновременно могут работать только:
– обе конфорки;
– левая конфорка и духовка;
– правая конфорка и духовка.
При этом имеется четыре кнопки управления:
– кнопка «+1 минута работы левой конфорки»;
– кнопка «+1 минута работы правой конфорки»;
– кнопка «+1 минута работы духовки»;
– кнопка питания.
Первые 3 кнопки включают (или добавляют по одной минуте работы для соответствующей конфорки (духовки) при условии, что кнопка питания включена). Если во время работы печи была выключена кнопка питания, то печь перестаёт работать, все три счётчика обнуляются. Начальная конфигурация: печь выключена.
12. Электричка
Электричка движется по железной дороге в левом и правом направлениях минуя 6 станций, 1-я и 6-я из которых являются конечными. Время движения от одной станции до другой составляет 1 минуту. Во время движения машинист не может открыть двери. На пульте управления электричкой имеются кнопки «газ», «открытие/закрытие дверей» и «правое/левое направление». На конечных станциях машинист должен изменить направление движения на противоположное после остановки поезда. В средине маршрута изменить направление следования нельзя. Достигнув остановки машинист может открыть двери или по усмотрению двигаться к следующей станции, причём на конечных станциях машинист обязан выпустить пассажиров. Поезд может тронуться только с закрытыми дверями нажатием кнопки «газ». Во время движения нажатие на кнопки не даёт результата. Станциям желательно дать название. Начальная конфигурация: поезд на 1-й станции, правое направление движения, двери закрыты, салон пуст.
13. СВД (снайперская винтовка Драгунова)
Винтовка имеет спусковой крючок (курок), подстраиваемый оптический прицел 100–1000 м. При нажатии курка производится выстрел, причём время следования пули рассчитывается по формуле: (мкс), где x – расстояние до цели (показания оптического прицела). После выстрела необходимо вывести на экран время следования пули. После того как обойма закончится, её необходимо заменить. Объём обоймы – 10 патронов. Начальная конфигурация: полная обойма (10 патронов), прицел – 100 м.
14. Холодильник
Холодильник имеет переключатель режима холода 1–2–3. Внутри холодильника имеется освещение, которое включается при открытии дверцы и отключается при её закрытии. Холодильник работает по принципу: X мин компрессор работает (Х – режим холода), 1 минуту не работает (простой) и так далее по циклу. Переключатель расположен внутри холодильника, таким образом, чтобы переключить режим, необходимо открыть дверцу, при этом, после изменения режима работы счётчик времени обнуляется и запускается в новом режиме. Начальная конфигурация: холодильник закрыт, режим работы 1.
15. Автобус
Имеется три кнопки управления: «газ», «тормоз» и открытие/закрытие дверей. Если двери автобуса закрыты и водитель нажимает «газ», то автобус начинает движение в пределах одной минуты. Если водитель во время движения нажимает «газ», то автобус дополнительно движется одну минуту. Если во время движения нажать клавишу тормоз, то автобус останавливается, при этом обнуляется счётчик движения. Если двери открыты, то автобус с места тронутся не может. Внутри есть освещение, которое горит во время остановки и тухнет во время движения (но не во время простоя с закрытыми дверями). Во время движения двери открыться не могут. Если время истекло, автобус останавливается. Начальная конфигурация: автобус стоит, двери закрыты.
16. Телефон
Телефон имеет набор цифр от 0 до 9. Номер набирается только при поднятой трубке. При наборе номера проверяется последовательность и количество набранных цифр в зависимости от первой. Возможные варианты:
– 01, 02, 03, 04;
– 1 – сигнал «короткие гудки»;
– 2, 4, 5, 6, 7, 9 – количество цифр в наборе – шесть;
– 3 – количество цифр в наборе – семь;
– 8 – после набора должен быть непрерывный гудок, и потом 10 цифр.
Состояние трубки – «нет гудка», «непрерывный гудок», «длинные гудки», «короткие гудки», должно отображаться на экране после каждой набранной цифры. Чтобы перезвонить, необходимо положить и снова снять трубку. Начальная конфигурация: трубка лежит на телефоне.
17. Автоматика снабжения котельной
Пульт управления автоматикой котельной содержит 4 кнопки управления: «вкл/выкл горелки», «+25 градусов», «–25 градусов» и «пуск».
Кнопки «+25 градусов» и «–25 градусов» увеличивают или уменьшают температуру горения котла в интервалах 100–300°C для нормальной работы котла. Причём, если температура ниже 150°C или выше 250°C, загорается красная лампочка. Если температура находится в интервале 150–250°C, то лампочка не горит. При температуре свыше 300°C котёл взрывается, а при температуре менее 100°C останавливается. Котел может работать только со включёнными горелками. Если во время работы выключить горелки, котёл останавливается, при этом счётчик температуры не меняется. Запускается котёл при температуре 100 – 150°C при включённых горелках с помощью кнопки «пуск», в остальных случаях кнопка «пуск» не работает. Начальная конфигурация: котёл не работает, горелки отключены, выставлена температура 100°C, горит красная лампочка.
18. Игра «крестики-нолики»
Игровое поле состоит из столбцов А, B, C и строк 1, 2, 3 . Ходить первыми начинают «крестики». Ни «нолики», ни «крестики» два раза подряд ходить не могут. В случае заполнения 3 полей по вертикали, диагонали или горизонтали одним маркером – выигрыш. Если заведомо понятно, что выстроить 3 в ряд не получится, то, не дожидаясь следующего хода, фиксируется ничья. Необходимо предусмотреть кнопку «перезапуск игры».
19. Револьвер
Револьвер имеет спусковой крючок (курок) и барабан ёмкостью 6 патронов. Барабан желательно реализовать в виде замкнутого списка. При нажатии на курок, если в патроннике (голове списка) есть патрон, происходит выстрел, после чего барабан автоматически поворачивается по часовой стрелке. Если же в патроннике патрона нет, то выстрела не происходит, но барабан всё равно проворачивается по часовой стрелке. Предусмотреть повороты барабана по и против часовой стрелки вручную, а также зарядку патронов в барабан. Начальная конфигурация: барабан пуст.
20. FM–приёмник
Радиовещание на FM–диапазоне лежит в пределах 88–108 МГц. Приёмник содержит кнопки: «+0,25 МГц» и «–0,25 МГц». При попадании частоты настройки приёмника на частоту станции необходимо вывести название станции. Список станций придумать самостоятельно и реализовать в виде массива записей, который является членом класса. Также необходимо предусмотреть кнопку «вкл/выкл питания», которая включает (выключает) приёмник от сети электропитания, причём при включении приёмник настраивается на частоту 88 Мгц. Начальная конфигурация: приёмник выключен.
21. Автоматическая винтовка типа «Штеер»
Винтовка имеет спусковой механизм (курок) и рычаг переключения режимов «одиночный выстрел»/«автоматическая стрельба». При нажатии на курок в зависимости от режима винтовка выстреливает:
– 1 пулю в режиме «одиночный выстрел»;
– 3 пули в режиме «автоматическая стрельба».
Если обойма пуста, то стрельба производиться не может и необходимо сменить обойму. Ёмкость обоймы 20 патронов. Если в обойме осталось менее 3 патронов, то в режиме «автоматическая стрельба» винтовка работать не может. Начальное состояние: в обойме 20 патронов, рычаг переключен в состояние «одиночный выстрел».
22. Автобус типа «ЛиАЗ»
Имеются кнопки управления: «газ» и 3 кнопки «открытие/закрытие дверей» для каждой из дверей. Если двери автобуса закрыты и водитель нажимает «газ», то автобус начинает движение в пределах одной минуты. Если водитель во время движения нажимает «газ», то автобус дополнительно движется одну минуту. Если хотя бы одни из дверей открыты, то автобус с места тронутся не может. Внутри есть освещение которое горит во время остановки и тухнет во время движения (но не во время простоя с закрытыми дверями). Во время движения двери открыться не могут. Если время прошло автобус останавливается. Начальная конфигурация: автобус стоит, двери закрыты.
23. Блок питания
Блок имеет две кнопки регулировки напряжения на выходе «+1 В» и «–1 В», регулятор порогового напряжения 5–15 В с делением 1 В, кнопку «пуск». В блок питания встроена автоматическая защита по напряжению и току. Защита срабатывает:
– если напряжение на выходе будет более порогового;
– если ток в цепи >=5 Ампер;
– если короткое замыкание на выходе (то есть нагрузка равна 0 Ом).
Результатом работы защиты будет отключение напряжения на выходе после нескольких секунд работы в первых 2-х случаях и мгновенное отключение в случае КЗ. Подача напряжения производится с помощью кнопки «пуск». Сила тока рассчитывается по закону Ома. Нагрузка задаётся вручную в Омах. Начальная конфигурация: напряжение на выходе 10В, подключена нагрузка в 3 Ом, пороговое напряжение 15В.