Мы в Telegram
Добавить новость
123ru.net
Работа
Март
2024

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

0
Создать консольное приложение "Строковый калькулятор". Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции, проводимые между ними, и выводить в консоль результат их выполнения. Калькулятор должен быть написан только с использованием встроенных библиотек 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"
    Принципы оценки работы
    Решение можно выполнить в одном пакете main. Будет большим плюсом разбитие программы на пакеты. Так же большим плюсом будет применение go-модулей.






Загрузка...


Губернаторы России
Москва

Собянин: Москва взяла Гран-при премии «Умный город» за цифровизацию горхозяйства


Спорт в России и мире
Москва

Андрей Мидловец выиграл якутский финал на первенстве России


Загрузка...

Все новости спорта сегодня


Новости тенниса
WTA

Свёнтек разгромила Кырстю и вышла в 1/8 финала турнира WTA-1000 в Мадриде


Загрузка...


123ru.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.


Загрузка...

Загрузка...

Экология в России и мире
Москва

Жёсткие экологические требования решат инновационные энерготехнологии





Путин в России и мире
Москва

Мария Захарова раскритиковала высказывание Нэнси Пелоси о Путине и протестах в США


Лукашенко в Беларуси и мире



123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Ru24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.





Зеленский в Украине и мире

Навальный в России и мире


Здоровье в России и мире


Частные объявления в Вашем городе, в Вашем регионе и в России






Загрузка...

Загрузка...



Игорь Бутман

Квинтет Игоря Бутмана и певица Фантине впервые выступят на джазовом фестивале в Бахрейне



Москва

Данил Барановский и внучка Софии Ротару

Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net