проверьте пожлста Рассмотреть модификацию магнитофона, который запоминает у себя в памяти все выполняемые пользователем действия. Считается что видиокассета обладает уникальным числовым идентификатором. В качестве тестовой программы рассмотреть задачу выполнения просмотра кассеты на магнитофоне, точный вид которого не определен. Просмотр сосстоит в последовательности след. операций: вставить кассету, перемотать кассету в начало, включить воспроизведение, выполнить останов и извлечь кассету.
| Код |
#include <iostream> #include <string> #include <vector> using namespace std; class magnitofon { bool play, rec, kasset, stop; // Процессы: воспроизведение, запись и наличие кассеты int rew; // Процесс перемотки (положительное число - вперёд на заданный интервал, // отрицательное число - назад на заданный интервал, 0 - бездействие)
vector<string> ListDat; // Запоминает все действия public: magnitofon() // Конструктор { play = false; stop = false; // По-умолчанию все процессы выключены rec = false; rew = 0; kasset = false; // По-умолчванию кассеты нет }
void m_stop() // Метод останавливает все процессы видеомагнитофона { play = false; rec = false; rew = 0; ListDat.push_back("m_stop"); }
void m_play() // Метод включает воспроизведение кассеты { m_stop(); // Может быть активен только один процесс, поэтому вызывается метод "Stop" play = true; ListDat.push_back("m_play"); }
void m_rew(int interval) // Метод перематывает кассету в заданном направление { m_stop(); rew = interval; // Перемотка на заданный интервал ListDat.push_back("m_rew"); }
void m_rec() // Метод начинает запись { if (play) rec = true; // Запись возможна только при включённом процессе play ListDat.push_back("m_rec"); }
void insert() // Метод вставляет кассету { m_stop(); kasset = true; ListDat.push_back("insert"); }
void get() // Метод достаёт кассету { m_stop(); kasset = false; ListDat.push_back("get"); }
bool check() // Метод проверяет, есть ли кассета { return kasset; // Возвращает true, если кассета есть, в противном случае false. }
void outListDat() { vector<string>::iterator it; for(it = ListDat.begin(); it != ListDat.end(); ++it) cout<<*it<<endl; } }; int main() { magnitofon mag; mag.insert(); mag.m_play(); mag.m_rec(); mag.m_rew(1); mag.m_stop(); mag.get();
mag.outListDat();
system("pause"); return 0; }
|
А как это в KDevelop оформить как cpp и h файл - какие директивы подключать и ещё подскажите как это сделать: Пусть имеется магнитофон с записью операций Требуется определить самую часто воспроизводимую кассету то есть такую для которой операция воспроизведения производилась наиболее часто |