і якщо ви натиснете нуль заново запуститися функція перегляду значення сигналу на вході якщо ви натиснете 0 і потім Enter то відбудеться повернення до попереднього меню
Якщо там ви введете цифру 0 і натиснете Enter станеться в головне меню
Якщо там ви введете цифру 4 і натиснете клавішу Enter то програма завершить свою роботу
Висновок
У даній роботі була розглянута задача моделювання і створення цифрових елементів з використанням об'єктно-орієнтованого підходу на мові програмування високого рівня С ++. На основі поставленого завдання, були послідовно виконані етапи аналізу, проектування і, на базі їх результатів, проведена реалізація цифрових елементів. На етапі аналізу був визначений зовнішній вигляд програми і компонентів логічної схеми, також був приведений механізм роботи з вхідними сигналами для більш гнучкого взаємодії з користувачем. При проектування були описані 4 основні класи, клас ELEMENT для зберігання компонентів для загального позначення елементів, клас KOMBIN описує властивості і методи для роботи з комбінаційної елементом АБО raquo ;, клас MEMORY, що послужив основою для створення регістра, і клас REGISTER - головний клас описує роботу складного 8-ми розрядного Регістру пам'яті. При програмування клас ELEMENT був визначений як шаблонний клас для всіх інших клас MEMORY стали включати класом для класу REGISTER.
Використання об'єктно-орієнтованого підходу дозволило значно спростити реалізацію окремих частин даної програми, на основі чого можна зробити висновок про те, що даний підхід є оптимальним для створення додатків подібного роду. Крім цього, були закріплені навички, отримані при виконанні лабораторних робіт курсу дисципліни Об'єктно-орієнтоване програмування raquo ;, що можна також вважати виконанням однієї з головних цілей даної роботи.
Список літератури
1. lt; # center gt; Додаток
# include lt; iostream gt;
# include lt; istream gt;
# include lt; conio. h gt;
# include lt; string gt;
# include lt; windows. h gt; namespace std; ELEMENT
{private: name; AmountInput; AmountOutput;: GetName ()
{name;
} GetIn ()
{AmountInput;
} GetOut ()
{AmountOutput;
}
~ ELEMENT ()
{ lt; lt; n t t lt; lt; name lt; lt; deleted raquo ;;
} ()
{
} ConfigName (string S)
{= S;
} (string S, int K1, int K2)
{= S;=K1;=K2;
} ConfigElement (string S, int K1, int K2)
{= S;=K1;=K2; }
}; KOMBIN: protected ELEMENT
{private: * Input;: ()
{= new int [0];
} (string name, int K): ELEMENT (name, K, 1)
{= new int [K];
} SetParameters ()
{(int i=0; i lt; GetIn (); i ++)
{ gt; gt; * (Input + i);
}
} Output ()
{p=0; (int i=0; i lt; GetIn (); i ++)
{(* (Input + i) == 1)
{= 1; break; }=0;
} p;
} Vlinput (int x)
{int o=0; (x gt; GetIn ())=0; o=* (Input + (x - 1)); o; }
}; MEMORY: protected ELEMENT
{private: Input [5]; Quas; Revs; C;: ()
{(int i=0; i lt; 5; i ++) [i]=0;=0;=0;=1;
} (MEMORY ob, string name): ELEMENT (name, 5,2)
{MEMORY ob1;=ob. Quas;=ob. Revs;=ob. C;
} (string name): ELEMENT (name, 5,2)
{(int i=0; i lt; GetIn (); i ++)
{[i]=0;
} Quas=0; Revs=1;=0; } ReMC ()
{return C;
} ReSS ()
{return Input [0];
} ReS ()
{return Input [1];
} ReR ()
{return Input [2];
} ReJ ()
{return Input [3];
} ReK ()
{return Input [4];