|
1 / 1 / 0
Регистрация: 18.05.2017
Сообщений: 12
|
||||||||||||||||
Пожалуйста, покритикуйте код24.09.2017, 11:46. Показов 682. Ответов 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,630
|
|
| 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,630
|
||
| 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
Покритикуйте код Графы. Покритикуйте код Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте, пожалуйста, код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|