|
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 15
|
||||||
Ошибка "Variable declaration not allowed here"17.02.2016, 14:51. Показов 8377. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|