Форум программистов, компьютерный форум CyberForum.ru

Создание класса, моделирующего работу RS-триггера - C++

Восстановить пароль Регистрация
 
anastasia_b
1 / 1 / 0
Регистрация: 28.04.2013
Сообщений: 45
03.06.2014, 18:38     Создание класса, моделирующего работу RS-триггера #1
Здравствуйте! Помогите пожалуйста с заданием..
Создать класс RS_trigger, моделирующий работу R-S триггера. Триггер принимает логическое состояние 0 или 1. По входу S (наверное требуется написание метода) триггер устанавливается в состояние 1, а по входу R соответственно в 0. Нужно осуществить перегрузку операции логического И для создаваемого класса (операция осуществляется над группой триггеров).

Добавлено через 5 часов 8 минут
Задача должна быть простой, но я сомневаюсь, что правильно понимаю ее условие..

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
#include <iostream>
using namespace std;
 
class RS_trigger
{
    int r, s;
public:
    RS_trigger(int _r, int _s): r(_r), s(_s) {}
    int get_trigger()
    {
        if (s==1)
        { return 1; }
        else if (r==1)
        { return 0; }
    }
    int operator && (const RS_trigger &rs)
    {
        if(get_trigger()==1 && (rs.r==1 && rs.s==1))
        {
            return 1;
        }
        else return 0;
    }
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    RS_trigger rs1(1,0), rs2(0,1);
    cout << "Результат: " << (rs1 && rs2) << endl;
    return 0;
}
Пожалуйста, если у кого-либо есть идеи, помогите сделать задание правильно..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 18:38     Создание класса, моделирующего работу RS-триггера
Посмотрите здесь:

C++ Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса.
C++ Разработать программу-драйвер, которая продемонстрирует работу производного класса
Класс и приложение проверяющее работу класса. C++
Создание экземпляр класса из другого класса C++
C++ Проиллюстрируйте работу простейщего класса итератора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
03.06.2014, 20:01     Создание класса, моделирующего работу RS-триггера #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef RSTRIGGER_H
#define RSTRIGGER_H
 
class RSTrigger {
public:
    RSTrigger(): state(false) {}
    virtual ~RSTrigger() {}
    bool operator() () { return state; } // Q-out
    bool operator && (const RSTrigger &rht)
    { return state && rht.state; }
    void set(bool signal)   { if(signal) state = true;  } // S-in
    void reset(bool signal) { if(signal) state = false; } // R-in
private:
    bool state;
};
RS-триггер
anastasia_b
1 / 1 / 0
Регистрация: 28.04.2013
Сообщений: 45
03.06.2014, 23:18  [ТС]     Создание класса, моделирующего работу RS-триггера #3
Спасибо, все почти что прояснилось!!!

А как написать главную функцию? помогите пожалуйста..

C++
1
2
3
4
5
6
RS_trigger rs1, rs2;
rs1.set(true);
rs1.reset(false);
rs2.set(true);
rs2.reset(false);
cout << "Результат: " << (rs1 && rs2);
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
03.06.2014, 23:52     Создание класса, моделирующего работу RS-триггера #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
 
namespace Electro {
    class RSTrigger {
    public:
        RSTrigger(): state(false) {}
        virtual ~RSTrigger() {}
        bool operator () () { return state; } // Q-out
        bool operator && (const RSTrigger &rht)
        { return state && rht.state; }
        void set  (bool signal = true) { if(signal) state = true;  } // S-in
        void reset(bool signal = true) { if(signal) state = false; } // R-in
    private:
        bool state;
    };
};
 
int main() {
    Electro::RSTrigger rs1, rs2;
    char state;
    std::cout<<"Enter rs1 state(s/r):";
    std::cin>>state;
    rs1.set(state == 's');
    std::cout<<"Enter rs2 state(s/r):";
    std::cin>>state;
    rs2.set(state == 's');
    std::cout<<"rs1 && rs2 -> "<< (rs1 && rs2);
    return 0;
}
как то так
Yandex
Объявления
03.06.2014, 23:52     Создание класса, моделирующего работу RS-триггера
Ответ Создать тему
Опции темы

Текущее время: 16:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru