Постановка задачи: Разработать консольное приложение на языке программирования C++
для реализации следующих задач:
1. Циклическое меню для выбора одной из задач либо завершения программы.
Реализовать проверку корректности выбора пунктов меню.
2. Сложение двух двоичных чисел произвольной длины (длина ограничена лишь
размером символьного одномерного массива (строки string) в конкретной реализации
компилятора языка C++), основываясь на понятии сумматора и его реализации
посредством булевых функций.
2.1. Исходные данные: две символьные строки, представляющие двоичные
слагаемые (набор нулей и единиц). Реализовать проверку корректности
вводимых данных и удаление незначащих нулей.
2.2. Результат: символьная строка, представляющая собой результат сложения двух
введенных двоичных чисел. Так же нужно реализовать проверку результата
сложения (если это возможно), преобразовав символьные строки в десятичные
числа средствами языка C++, сложить их и вывести результат на консоль.
3. Умножение двух двоичных чисел произвольной длины, основываясь только на
операции сложения, реализованной в п.2.
3.1. Исходные данные: две символьные строки, представляющие двоичные
множимое и множитель (набор нулей и единиц). Реализовать проверку
корректности вводимых данных и удаление незначащих нулей.
3.2. Результат: символьная строка, представляющая собой результат умножения
двух введенных двоичных чисел. Так же нужно реализовать проверку результата
умножения (если это возможно), преобразовав символьные строки в десятичные
числа средствами языка C++, перемножить их и вывести результат на консоль.
4. Перевод целого беззнакового числа произвольной длины в десятичной системе
исчисления в двоичное, используя лишь операции сложения и умножения,
реализованные в п.2 и п.3.
4.1. Исходные данные: символьная строка, представляющая собой целое десятичное
число (набор цифр от нуля до девяти). Реализовать проверку корректности
вводимых данных и удаление незначащих нулей.
4.2. Результат: символьная строка, представляющая собой результат конвертации
введенного целого десятичного числа в двоичное. Так же нужно реализовать
проверку результата конвертации, преобразовав символьную строку результата
(если это возможно) в десятичное число средствами языка C++ и вывести
результат на консоль.