Created
January 20, 2023 11:25
-
-
Save themaximax/96730a5839fd0c8a92adbf4c9d05af5e to your computer and use it in GitHub Desktop.
Простой калькулятор на Bash. Синтаксис у Bash специфичный, некоторые конструкции могут быть полезны в будущем. Задание: Напишите свой калькулятор. В нем реализуйте простейшие арифметические операции: «+»; «-»; «*»; «/». Считывание параметров реализуйте с помощью read и select. Примечение: постарайтесь максимально защититься от ошибок, т.к. польз…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| #ДЗ Нетологии - Калькулятор. Максим Максимов | |
| echo "Простой калькулятор на Bash" | |
| PS3="Выберите операцию [1-5]: " | |
| select opt in "+" "-" "*" "/" "выйти"; do | |
| case $opt in | |
| [-+*/] ) | |
| read -p "Введите первое число: " n1 | |
| read -p "Введите второе число: " n2 | |
| if ! [[ "$n1" =~ ^-?[0-9]+[.,]?[0-9]*$ ]] || ! [[ "$n2" =~ ^-?[0-9]+[.,]?[0-9]*$ ]]; then | |
| echo "Ошибка ввода: нужно водить числа" | |
| continue | |
| fi | |
| if [[ $n2 == 0 ]] && [[ $opt == "/" ]]; then | |
| echo "Ошибка: на 0 делить нельзя" | |
| continue | |
| fi | |
| echo "$n1 $opt $n2 = $(bc -l <<< "$n1 $opt $n2")" | |
| ;; | |
| "выйти") break;; | |
| * ) echo "Недопустимая опция $REPLY";; | |
| esac | |
| done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment