Написать консольное приложение Строковый калькулятор на Golang

1 000 руб. за проект
29 марта 2024, 15:48 • 7 откликов • 35 просмотров
Создать консольное приложение "Строковый калькулятор". Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции, проводимые между ними, и выводить в консоль результат их выполнения. Калькулятор должен быть написан только с использованием встроенных библиотек golang.
  • Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число: "a" + "b", "a" - "b", "a" * b, "a" / b. Данные передаются в одну строку (смотри пример ниже). Решения, в которых каждая строка, число и арифметическая операция передаются с новой строки, считаются неверными.
  • Значения строк, передаваемых в выражении, выделяются двойными кавычками.
  • Результатом сложения двух строк является строка, состоящая из переданных.
  • Результатом деления строки на число n является строка в n раз короче исходной (смотри пример).
  • Результатом умножения строки на число n является строка, в которой переданная строка повторяется ровно n раз.
  • Результатом вычитания строки из строки является строка, в которой удалена переданная подстрока или сама исходная строка, если в неё нет вхождения вычитаемой строки (смотри пример).
  • Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более, и строки длиной не более 10 символов. Если строка, полученная в результате работы приложения, длиннее 40 символов, то в выводе после 40 символа должны стоять три точки (...).
  • Калькулятор умеет работать только с целыми числами.
  • Первым аргументом выражения, подаваемым на вход, должна быть строка. При вводе пользователем выражения вроде 3 + "hello", калькулятор должен выдать панику и прекратить свою работу.
  • При вводе пользователем неподходящих чисел, строк или неподдерживаемых операций (например, деление строки на строку) приложение выдаёт панику и завершает свою работу.
  • При вводе пользователем выражения, не соответствующего одной из вышеописанных арифметических операций, приложение выдаёт панику и завершает свою работу.

    Input:
    "100" + "500"

    Output:
    "100500"



    Input:
    "Hi World!" - "World!"

    Output:
    "Hi "



    Input:
    "Bye-bye!" - "World!"

    Output:
    "Bye-bye!"



    Input:
    "Golang" * 5

    Output:
    "GolangGolangGolangGolangGolang"



    Input:
    "Example!!!" / 3

    Output:
    "Exa"

Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Очень быстро выполнил. Респект!)
29 дней назад
R50 e2f2ee47c6322b585fb5332256726cef
Фрилансер
Отличный заказчик, все по делу и четко
29 дней назад