Рис. 2.5.Взаимодействие модулей системы "Калькулятор"
Функциональные требования Требования к программе
Калькулятор должен выполнять следующие арифметические операции: сложение, вычитание, умножение, нахождение частного, нахождение остатка. Спецификацию на них см. 3.2.
Калькулятор должен поддерживать работу с целыми числами в пределах от -2147483648 до 2147483647 (в дальнейшем MININT и MAXINT). В случае выхода за эти пределы должно выдаваться сообщение об ошибке Error 06.
Калькулятор должен иметь память на одно целое число, а также возможность выводить это число на экран, сбрасывать его значение на 0 и прибавлять к нему любое другое число, введенное в поле ввода.
При нажатии на клавишу M+ к числу, записанному в память, прибавляется число, записанное в поле "Результат". При этом на сложение накладываются ограничения из 3.2.1.
Если в поле "Результат" записан код ошибки, то при нажатии на клавишу M+ должно выдаваться сообщение "Невозможно преобразовать к числу".
При нажатии на кнопку MC число в памяти обнуляется.
При нажатии на кнопку MR число из памяти приписывается в конец выражения в строке "Выражение".
Калькулятор должен предоставлять возможность пользователю работать с операциями унарного плюса и унарного минуса.
Если между нажатиями на кнопку <+/-> проходит менее 3 секунд, то введенный оператор меняется на противоположный.
Если между нажатиями на кнопку <+/-> проходит более 3 секунд, то к выражению дописывается знак "-".
Калькулятор должен иметь графический интерфейс, содержащий кнопки с цифрами и арифметическими операциями, кнопкой равенства, кнопками работы с памятью, кнопками редактирования скобочек и кнопками сброса, переключателем унарного минуса/унарного плюса, текстовыми полями для ввода выражения и вывода результата.
При нажатии на клавишу программа должна прекращать свою работу.
В случае неверно построенного вычисляемого выражения или несоответствия его требованиям 3.2 в текстовое окно результата должно выводиться соответствующие сообщение (см 2.2.3)