Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Pair {
- private:
- int number_one, number_two;
- public:
- Pair() {
- number_one = number_two = 0;
- }
- Pair(int X, int Y) {
- number_one = X;
- number_two = Y;
- }
- void change_numbers(int X, int Y) {
- number_one += X;
- number_two += Y;
- }
- Pair operator+ (Pair t) {
- Pair result;
- result.number_one = number_one + number_two;
- result.number_two = t.number_one + t.number_two;
- return result;
- }
- void show() {
- cout << "Пара: " << number_one << ' ' << number_two;
- cout << endl;
- }
- };
- class Long : public Pair {
- private:
- int elder, junior;
- public:
- Long() {
- elder = junior = 0;
- }
- Long(int X) {
- elder = (int) X/256;
- junior = (int) X%256;
- }
- Long operator+ (Long t) {
- Long result;
- result.elder = elder + t.elder;
- result.junior = junior + t.junior;
- return result;
- }
- Long multiply(Long t) {
- Long result;
- result.elder = elder * t.elder;
- result.junior = junior * t.junior;
- return result;
- }
- Long residual(Long t) { //разность
- Long result;
- result.elder = elder - t.elder;
- result.junior = junior - t.junior;
- return result;
- }
- void show() {
- cout << "Старшая часть числа: " << elder << " младшая: " << junior << endl;
- }
- };
- int main() {
- setlocale(LC_ALL, "Russian");
- int X, Y, Z;
- cout << "Введите пару целых чисел: ";
- cin >> X >> Y;
- Pair p(X, Y);
- p.show();
- cout << "Введите число, у которого будем определять старшую и младшую части: ";
- cin >> Z;
- Long l(Z);
- l.show();
- char choice;
- label_main : cout << "Выберите с чем работать: (1 - пара, 2 - старшая и младшая части, 3 - выход): ";
- cin >> choice;
- if (choice == '1') {
- label1 : cout << "Выберите что сделать с парой (1 - изменить на указанные введенные величины, 2 - сложить две пары чисел, 3 - выход): ";
- cin >> choice;
- cout << endl;
- if (choice == '1') {
- int delta_x, delta_y;
- cout << "Введите величины, на которые изменять пару: ";
- cin >> delta_x >> delta_y;
- cout << endl;
- p.change_numbers(delta_x, delta_y);
- p.show();
- goto label1;
- } else if(choice == '2') {
- cout << "Введите пару целых чисел, с которой складывать: ";
- cin >> X >> Y;
- Pair temp(X, Y);
- Pair result = p + temp;
- result.show();
- goto label1;
- } else {
- goto label_main;
- }
- } else if (choice == '2') {
- label2 : cout << "Выберите что сделать со старшей и младшей частью числа (1 - сложить старшие и младшие части двух различных чисел, 2 - умножить старшие и младшие части двух различных чисел, 3 - вычесть старшие и младшие части двух различных чисел, 4 - выход): ";
- cin >> choice;
- cout << endl;
- if (choice == '1') {
- cout << "Введите новое число, с младшей и старшей частью которого работать: ";
- cin >> Z;
- cout << endl;
- Long temp(Z);
- temp.show();
- Long result = l + temp;
- result.show();
- goto label2;
- } else if (choice == '2') {
- cout << "Введите новое число, с младшей и старшей частью которого работать: ";
- cin >> Z;
- cout << endl;
- Long temp(Z);
- temp.show();
- Long result = l.multiply(temp);
- result.show();
- goto label2;
- } else if (choice == '3') {
- cout << "Введите новое число, с младшей и старшей частью которого работать: ";
- cin >> Z;
- cout << endl;
- Long temp(Z);
- temp.show();
- Long result = l.residual(temp);
- result.show();
- goto label2;
- } else {
- goto label_main;
- }
- } else {
- goto label;
- }
- label : char final_choice;
- cout << "Введите 1, чтобы остаться в программе и начать заново или что-нибудь еще, чтобы выйти из этого позора к хуям и получить зачет: ";
- cin >> final_choice;
- if (final_choice == '1') {
- main();
- } else {
- system("pause");
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement