Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22

создание класса

12.04.2009, 11:29. Показов 1058. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно разработать класс для представления понятия "контроллер видеомагнитофона"(обеспечивает програмное управление видеомагнитофоном, который может осуществлять запись, выполнять воспроизведение кассеты и осуществлть перемотку в указанном направлении)
Кто нить может поделиться похожими прогами или просто с определением класса
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2009, 11:29
Ответы с готовыми решениями:

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?

Возможно ли создание объекта шаблонного класса в функции этого класса?
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Построение описания класса, создание и уничтожение объектов этого класса
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

6
Технофашист
229 / 217 / 11
Регистрация: 11.03.2009
Сообщений: 887
12.04.2009, 15:17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class magnitofon
{
   bool play, rec;        // Процессы: воспроизведение, запись
   int rew;               // Процесс перемотки (1 - вперёд, 2 - назад, 0 - бездействие)
 
public:
   magnitofon()           // Конструктор
   {
      play = false;
      stop = false;       // По-умолчанию все процессы выключены
      rec = false;
      rew = 0;
   }
 
   void m_stop()       // Метод останавливает все процессы видеомагнитофона
   {
      play = false;
      rec = false;
      rew = 0;
   }
 
   void m_play()       // Метод включает воспроизведение кассеты
   {
      m_stop();        // Может быть активен только один процесс, поэтому вызывается метод "Stop"
      play = true;
   }
 
   void m_rew(bool i)  // Метод перематывает кассету в заданном направление
   {
      m_stop();
      if (i) rew = 1;  // Перемотка вперёд
      else rew = 2;    // Назад
   }
 
   void m_rec()        // Метод начинает запись
   {
      if (play) rec = true;  // Запись возможна только при включённом процессе play
   }
};
1
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
12.04.2009, 20:13  [ТС]
А как осуществить перемотку на указанный интервал
вставить, извлечь кассету и проверить наличие кассеты
0
Технофашист
229 / 217 / 11
Регистрация: 11.03.2009
Сообщений: 887
12.04.2009, 21:31
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class magnitofon
{
   bool play, rec, kasset;        // Процессы: воспроизведение, запись и наличие кассеты
   int rew;                // Процесс перемотки (положительное число - вперёд на заданный интервал, 
                             // отрицательное число - назад на заданный интервал, 0 - бездействие)
public:
   magnitofon()           // Конструктор
   {
      play = false;
      stop = false;       // По-умолчанию все процессы выключены
      rec = false;
      rew = 0;
      kasset = false;    // По-умолчванию кассеты нет
   }
 
   void m_stop()       // Метод останавливает все процессы видеомагнитофона
   {
      play = false;
      rec = false;
      rew = 0;
   }
 
   void m_play()       // Метод включает воспроизведение кассеты
   {
      m_stop();        // Может быть активен только один процесс, поэтому вызывается метод "Stop"
      play = true;
   }
 
   void m_rew(int interval)  // Метод перематывает кассету в заданном направление
   {
      m_stop();
      rew = interval;          // Перемотка на заданный интервал
   }
 
   void m_rec()        // Метод начинает запись
   {
      if (play) rec = true;  // Запись возможна только при включённом процессе play
   }
 
   void insert()              // Метод вставляет кассету
  {
      m_stop();
      kasset = true;
  }
 
   void get()                // Метод достаёт кассету      
  {
      m_stop();
      kaseta = false ;
  }
 
   bool check()            // Метод проверяет, есть ли кассета
   {
      return kasset;      // Возвращает true, если кассета есть, в противном случае false.
   }
};
1
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
17.04.2009, 15:34  [ТС]
Здесь ещё добавилось задание:
Рассмотреть модификацию магнитофона, который запоминает у себя в памяти все выполняемые пользователем действия. Считается что видиокассета обладает уникальным числовым идентификатором. В качестве тестовой программы рассмотреть задачу выполнения просмотра кассеты на магнитофоне, точный вид которого не определен. Просмотр сосстоит в последовательности след. операций: вставить кассету, перемотать кассету в начало, включить воспроизведение, выполнить останов и извлечь кассету.
Чем это отличается от предыдущего задания и с помощью чего это сделать
я на измене
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
17.04.2009, 15:53
Можно просто записовать все действия в некий список. Что то вроде этого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#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;
}
0
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 22
01.05.2009, 10:06  [ТС]
Пусть имеется магнитофон с записью операций
Требуется определить самую часто воспроизводимую кассету
то есть такую для которой операция воспроизведения производилась наиболее часто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2009, 10:06
Помогаю со студенческими работами здесь

Явное создание экземпляра класса и явная специализация шаблона класса
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

Создание класса-списка на основе кода со списком без класса
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Создание объекта класса с полем являющимся объектом другого класса
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Создание статической функции класса, которая принимает экземпляр этого же класса как объект
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru