|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
||||||
Ошибка "Variable declaration not allowed here"17.02.2016, 14:51. Показов 8369. Ответов 23
Метки нет (Все метки)
При компиляции выдаёт Variable decloration not allowed here, да и нетбинс подчёркивает, пишет что-то про статичность, но не исправляет.
Нужно написать 4 каькулятора, данные брать из файла Код:
Прошу прощения за прохую читабельность, из-за спойлера пробелы исчезли Условие задачи если что: Кликните здесь для просмотра всего текста
Построить иерархию классов для калькуляторов с разной функциональностью.
Простой калькулятор – выполняет 4 арифметические операции: сложение, вычитание, умножение, деление. Простой калькулятор с памятью – имеет также одну ячейку памяти и выполняет с данной ячейкой 4 операции: очистить ячейку памяти, записать в ячейку памяти текущее значение, увеличить или уменьшить значение в ячейке памяти на текущее значение. Инженерный калькулятор – выполняет 4 арифметические операции и вычисляет значения 3 функций: синус, экспонента, квадратный корень. Инженерный калькулятор с памятью – комбинация пунктов 2 и 3. Создать консольное приложение с единственным аргументом командной строки – имя входного файла. Структура входного файла: строка 1 - тип калькулятора, остальные строки - числа и операции для вычисления выражения, при этом каждое данное находится в одной строке. Например, содержимое файла для выражения sin(2*10+5)-1, которое необходимо вычислить инженерным калькулятором, может иметь вид: 3 2 * 10 + 5 sin - 1 Все исходные данные корректные. Если в исходных данных есть ошибка, то результат работы программы может быть любым, в том числе программа может завершиться аварийно. В приложении создать экземпляр калькулятора заданного типа и с его помощью вычислить значение выражения, определяемого содержимым файла.
0
|
||||||
| 17.02.2016, 14:51 | |
|
Ответы с готовыми решениями:
23
Ошибка: declaration is not allowed here в int key Ошибка: 'for' loop initial declaration are only allowed C99 mode
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 17.02.2016, 15:11 | |
Сообщение было отмечено mrdragon9000 как решение
Решение
ну и дичь) а есть задание? или только дали код допилить?
Добавлено через 11 минут смею огорчить, но код и задача даже рядом не стоят. советую почитать про ооп, наследование, и солид принципы.
1
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 17.02.2016, 15:19 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 17.02.2016, 15:37 [ТС] | |
|
Mocivan, я понимаю что такое ООП, наследование, однако не могу представить себе каким боком его тут использовать. Уже хотел создавать отдельную тему. По идее 2,3,4 калькуляторы должны быть унаследованы от 1. Но какой в этом прок? Вызывать конструктор 1? И потом просто дополнять доп. Спарингами?
Добавлено через 9 минут я понимаю что такое ООП, наследование, однако не могу представить себе каким боком его тут использовать. Уже хотел создавать отдельную тему. По идее 2,3,4 калькуляторы должны быть унаследованы от 1. Но какой в этом прок? Вызывать конструктор 1? И потом просто дополнять доп. Спарингами?
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 17.02.2016, 15:43 | |
|
mrdragon9000,
1. абстрактный калькулятор (1) и к нему реализацию - простой калькулятор (1), 2. интерфейс "хранимый" (например) (2) - методы с памятью, 3. реализация калькулятор с памятью (2) наследуем абстрактный 1 и реализуем интерфейс 2 4. абстрактный инженерный (3) реализует 1 + реализация абстрактного класса (3) 5. инженерный калькулятор с памятью (4) наследует 3 и реализует методы из 2 как вариант. Добавлено через 2 минуты что касается реализации классов, то используй конструкторы без аргументов и методы, и будет похоже на что-то приличное... возможно)
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 17.02.2016, 15:57 | |
|
примерчик
1
|
|
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 17.02.2016, 16:01 [ТС] | |
|
Будем пробовать.
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
| 17.02.2016, 19:28 | |||||||||||||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено mrdragon9000 как решение
Решение
Абстракции абстракциями, но то ли они с заданием намудрили, то ли вечер. При прочих равных, потратил два часа на то, чтобы более менее удачную архитектуру сделать, но все равно говнокод(.
Тестов нет, входная строка с именем файла хардкодом, вариант с ячейкой памяти по большому счету не реализован. А все потому, что надо вместо кучи обмотанных скотчем мелких высеров, делать один большой нормальный проект... но это уже наверное к заданию. Наследование местами поменяно на композицию. Гуд лак)) Кликните здесь для просмотра всего текста
Местами можно упросить при желании, ну и добавить там всякого шаблонного кода.
1
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 18.02.2016, 11:38 [ТС] | |
|
mocivan, вот сейчас засел разобраться в твоём коде.Там же в задании сказано нужно именно создать экземпляр нужного калкулятора
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 18.02.2016, 11:44 | |
|
mrdragon9000, в parseAndCalculate посмотри.
А вообще это один из возможных вариантов, который по моему мнению еще много куда пилить. На мой взгляд это самая простая мешанина.
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 18.02.2016, 15:16 [ТС] | |
|
mocivan, Ну вроде разобрался. Осталось только одно непонятно, видимо потому что не совсем понимаю абстрактные классы. Зачем нужно было создавать дочерние классы моделей калькуляторов? Чтобы можно было создать их экземпляр ? Но зачем тогда вообще было делать их абстрактными?
И да, спасибо большое за код. Сейчас сделаю под себя, и отправлю.(ПоСлЕдНиЙ ДеНь)
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 18.02.2016, 15:58 | |
|
mrdragon9000, в данной ситуации не обязательно делать абстрактные классы. Пример условный. Первоначально идея была унаследовать от самого первого класса все калькуляторы, а поведение закрыть общими интерфейсами, но выходило очень много одинакового кода (хотя с точки зрения наглядности задача была бы более понятной), зато можно было бы ненужные калькуляторы легко выпиливать при желании.
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|||||||||||
| 18.02.2016, 16:18 [ТС] | |||||||||||
|
mocivan, ну вроде всё. Проверь плиз, всё ли я доделал, мб чего упустил.
Изменил : Initializer Кликните здесь для просмотра всего текста
StorageCell Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
||||||
| 18.02.2016, 16:24 | ||||||
а в остальном... смотри сам)) сдавать то тебе.
0
|
||||||
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 18.02.2016, 16:31 [ТС] | |
|
mocivan, args[]? Ну, вроде я другую пограмму пробовал через исходник запускать, сохранялось в переменную filename. Сейчас ещё перепроверю
Добавлено через 1 минуту mocivan, тьфу ты. Через консоль
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
||||||||||||||||
| 18.02.2016, 16:49 | ||||||||||||||||
Сообщение было отмечено mrdragon9000 как решение
Решение
mrdragon9000,
консоль в данном случае, я понимаю как run->cmd (в винде) тут все подробно про консольный запуск Добавлено через 3 минуты еще советую обратить внимание на этот код (выпиленный)
Добавлено через 6 минут вот этот код не нужен:
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|
| 18.02.2016, 17:05 [ТС] | |
|
mocivan, спасибо.
Про ошибки, понимаю, но там вроде написано что все данные корректные, а в случае ошибки всёравно что делать. Хоть закрывается пусть. Добавлено через 1 минуту mocivan, Какая то хрень сейчас проихошла. Собрал программу через нетбинс, открыл через консоль, и тупо все файлы проекта исчезли! ппц. Лан, вообщем буду отправлять
0
|
|
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 18.02.2016, 17:09 | |
|
mrdragon9000,
собери проект в jar и его запусти из консоли. И уж если отправлять, то либо zip+jar, либо github (например).
0
|
|
|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
|||
| 18.02.2016, 18:12 [ТС] | |||
|
mocivan, Отправил сейчас знакомому из этой компании куда посылать нужно, вот что ответил:
0
|
|||
|
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
|
|
| 18.02.2016, 18:33 | |
|
mrdragon9000, часика через два только если,
а про композицию у них там слышали?)) чую задание стащили из си и даже не проверили как это на джаве смотрится.
0
|
|
| 18.02.2016, 18:33 | |
|
Помогаю со студенческими работами здесь
20
Поразрядная обработка целых чисел(declaration si now allowed here) Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification Ошибка E2238 Multiple declaration for и E2344 Earlier declaration of выпадает на одной и той же строке Ошибка: declaration of 'Init' differs from previous declaration Ошибка Declaration of 'Button1' differs from previous declaration Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|