|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
||||||||||||||||
Пожалуйста, покритикуйте код24.09.2017, 11:46. Показов 723. Ответов 14
Метки нет (Все метки)
Стиль, логика, реализация, все что угодно. Заранее благодарен за любые замечания или советы. Делал в VS 2015
Задача 1, вывод даты прописью
Задача 2. Определить день недели по дате
0
|
||||||||||||||||
| 24.09.2017, 11:46 | |
|
Ответы с готовыми решениями:
14
Покритикуйте пожалуйста программу Шифратор пароля. Покритикуйте пожалуйста. Покритикуйте код |
|
71 / 58 / 48
Регистрация: 12.03.2017
Сообщений: 563
|
||||||
| 24.09.2017, 11:54 | ||||||
В 3-й задаче также. И да, редко вижу использование switch case , так что молодец что не стал писать 100 if`ов )
0
|
||||||
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
|||
| 24.09.2017, 12:09 [ТС] | |||
|
0
|
|||
|
71 / 58 / 48
Регистрация: 12.03.2017
Сообщений: 563
|
||
| 24.09.2017, 12:20 | ||
|
А ассоциативный массив - это когда у элемента массива есть ключ. И по этому ключу ищете значение в массиве. А лучше всего используйте библиотеку STL для массивов, там уже всё продумано до мелочей в том числе и ассоциативные массивы и выделение и освобождение памяти.
0
|
||
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
||||
| 24.09.2017, 12:55 [ТС] | ||||
|
Добавлено через 12 минут Строго говоря, С++ я вообще еще не изучал, только С (да и то, как я потом понял, не С, а адскую смесь С и С++)
0
|
||||
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
||||||||||||||||||||||||||
| 24.09.2017, 13:02 | ||||||||||||||||||||||||||
Эккель писал, что это может привести к некоторым проблемам. Да и эстетически же так будет получше.
В свитч, в соответствии с хорошим стилем, должен быть default.
2
|
||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
|||
| 24.09.2017, 13:42 [ТС] | |||
|
Добавлено через 19 минут Добавлено через 8 минут Странно, про g++ не знаю, а VS вообще ни одного замечания при сборке не сделал
0
|
|||
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
|
|
| 24.09.2017, 14:03 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
|||||||
| 24.09.2017, 14:10 [ТС] | |||||||
И дефолтов в switch-case добавил. С const и static повременю, ибо пока не вкурил, в чем глубокий смысл.
0
|
|||||||
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
||||
| 24.09.2017, 15:37 | ||||
|
В хороших книгах обычно оговаривается, что в примерах книги именно так и будут делать, а вот в ваших программах такого надо избегать. Понятное дело, что у вас программа учебная, это не имеет значения. Но так вы начнете привыкать к плохому стилю, от чего потом не так быстро получиться отучиться. Я повторюсь, или поставьте в настройках VS уровень предупреждений повыше или же проверяйте ваш код на g++. (Если нет возможности использовать чистый g++, поставив Ubuntu, можно поставить Code::Blocks или QtCreator, которые используют компилятор MinGw - аналог g++ под Windows.) Указав нужные флаги, которые есть в документации, вы сможете получать больше ошибок компиляции, но меньше ошибок исполнения.
1
|
||||
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
|
||
| 24.09.2017, 16:00 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
||||||||||||
| 24.09.2017, 18:57 [ТС] | ||||||||||||
|
Notoriously, спасибо, очень полезное разъяснение. В принципе, я понимаю, для чего объявляется static и const, просто ввиду отсутствия опыта практического программирования мне трудно оценить, насколько это важно в данном конкретном случае, как отразится на работе всамделишной пограммы и т.д.. Хотя как раз функция вывода числа или даты прописью какой-нибудь бухгалтерии или текстовом редакторе будет очевидно вызываться постоянно.
Так что, так и писать?
П.С. Программа, кстати, не учебная, это я просто в одной книжке листинг увидел с примером таких функций, они мне совершенно не понравились, там из чисел делали стринги, потом вычитывали поэлементно, как-то так, в итоге я запутался и решил лучше свои состряпать для тренировки, ну и в копилочку, а вдруг пригодится. Добавлено через 12 минут Выше только Включить все предупреждения (/Wall), но тогда вываливается 100500 сообщений типа "
0
|
||||||||||||
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
||||||
| 24.09.2017, 20:47 | ||||||
|
mps298,
Вот итог компиляции вашей первой программы на g++ : Кликните здесь для просмотра всего текста
0
|
||||||
|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
|
| 24.09.2017, 22:10 [ТС] | |
|
Я правильно понимаю, что он ругается (кроме отсутствия дефолта и что main у меня пустая) как раз что я инициализирую неконстантные массивы константными строками? Т.е. как раз о чем выше говорилось?
Добавлено через 7 минут Век живи... оказывается, в С++ строковой литерал это массив const char, а не char, как в Си. C2440 can be caused if you attempt to initialize a non-const char* (or wchar_t*) by using a string literal in C++ code, when the compiler conformance option /Zc:strictStrings is set. In C, the type of a string literal is array of char, but in C++, it is array of const``char.
0
|
|
| 24.09.2017, 22:10 | |
|
Помогаю со студенческими работами здесь
15
Покритикуйте код Графы. Покритикуйте код Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте, пожалуйста, код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|