Форум программистов, компьютерный форум, киберфорум
Go (Golang)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 13

Консольный калькулятор на Go. Ввод данных

04.07.2024, 20:32. Показов 1025. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ помогите)

Данные для вычисления передаются в одну строку.
пример: a + b

Как разложить вводимую пользователем строку на числа и оператор для дальнейших операций?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2024, 20:32
Ответы с готовыми решениями:

Консольный калькулятор: ввод данных в строку
Я ща изучаю консоль С#, написал калькулятор, но получилось не так как я хотел :) я вожу данные так: 2 + 5 а хотелось бы вот так 2...

Консольный калькулятор с вводом и выводом данных с файла
Доброго времени суток господа Помогите пожалуйста сделать задание: Создать простой консольный калькулятор, но чтобы входные...

Консольный калькулятор
привет ребята, помогите мне пожалуйста с написанием консольного кальтулятора, который переводит числа в семнадцатиричную системы счисления((

7
 Аватар для voraa
1269 / 1233 / 183
Регистрация: 21.01.2024
Сообщений: 5,678
04.07.2024, 20:51
Цитата Сообщение от callOfCheburek Посмотреть сообщение
Как разложить вводимую пользователем строку на числа и оператор для дальнейших операций?
Смотря какой сложности выражения. Если простые, то можно просто регуляркой, если сложные, со скобками (и функциями типа sin, cos...), то полноценный синтаксический анализатор писать.
0
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 13
04.07.2024, 20:56  [ТС]
простые. числа до 10 включительно. не более двух операндов
только простые операции - + / *
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.07.2024, 00:59
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Если уж совсем по-простому и не заморачиваясь
Цитата Сообщение от callOfCheburek Посмотреть сообщение
до 10 включительно
Go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package main
import "fmt"
 
func main() {
    var a, b float64
    var action string
    
    _, err := fmt.Scanln(&a, &action, &b)
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    switch action {
    case "+":
        fmt.Println(a + b)
    case "-":
        fmt.Println(a - b)
    case "*":
        fmt.Println(a * b)
    case "/":
        if b == 0 {
            fmt.Println("Div by zero error!")
            return
        }
        fmt.Println(a / b)
    default:
        fmt.Println("Unknown action!")
    }
}
Code
1
2
3
4
5
6
7
8
9
10
andrew@debi0324:~/prog/go/misc$ go run calc.go 
3 + 2
5
andrew@debi0324:~/prog/go/misc$ go run calc.go 
4 * 4
16
andrew@debi0324:~/prog/go/misc$ go run calc.go 
6 / 0
Div by zero error!
andrew@debi0324:~/prog/go/misc$
3
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 13
05.07.2024, 12:13  [ТС]
Спасибо! Обучение дается очень тяжело. Так как консольные приложения очень подробно рассматриваются в шарпе, то в го почти ничего об этом. сложно найти что то именно про консольные приложения для обучения
0
Модератор
Эксперт Java
 Аватар для alecss131
2856 / 1363 / 407
Регистрация: 11.08.2017
Сообщений: 4,357
Записей в блоге: 2
05.07.2024, 12:46
Цитата Сообщение от callOfCheburek Посмотреть сообщение
сложно найти что то именно про консольные приложения для обучения
А чем они отличаются от других?
По сути надо знать пару функций и все, одну для ввода/считывания данных с консоли и одну для вывода данных в консоль. Все остальное уже к консоли отношения не имеет. Форматированный ввод/вывод, если есть, это уже продвинутый уровень.
0
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 13
05.07.2024, 17:16  [ТС]
так вот и нет этих материалов. Нашел только один, промт перевод чела из словакии , но там уровень достаточно высокий. Может подскажете где материал дан доступно , желательно с практикой?
0
25 / 43 / 4
Регистрация: 18.12.2023
Сообщений: 184
Записей в блоге: 2
05.07.2024, 17:28
Цитата Сообщение от callOfCheburek Посмотреть сообщение
так вот и нет этих материалов
Да как нет-то? Вот же они:
https://pkg.go.dev/fmt
https://pkg.go.dev/bufio
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.07.2024, 17:28
Помогаю со студенческими работами здесь

Консольный калькулятор
Всем привет! Знаю эта тема уже застарела но все таки... Я в С# новичёк, и вот решил написать свою первую программку, а именно консольный...

Консольный калькулятор на Qt
Дали лабу на Qt написать. Калькулятор пробовал написать. Поправте ошибку, он как бы компилируе но не рабботает. Скажите почему?...

Консольный калькулятор
Необходимо сделать консольный калькулятор, в котором происходит ввод с клавиатуры и имеется поддержка стандартных операций. Как делал...

Консольный калькулятор на C#
Доброго времени суток. Написал программу консольного калькулятора, который может принимать выражения вида : 45+58, 25-8, 5*5, 16/5, 2^8 (2...

Консольный калькулятор
Товарищи! Помоги пожалуйста студенту)) Разработать программу - калькулятор выражений вводимых пользователем с клавиатуры. Операнды -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru