![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
ferz721 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.1.2011 Репутация: нет Всего: нет |
thanks.
посмотрите код, скажите где ошибки и + Присоединённый файл ( Кол-во скачиваний: 14 ) ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Раздражает необходимость качать и распаковывать файл.
посмотрел. дикое нарушение всех правил форматирования и оформления кода (один из вариантов тут). Дальше смотреть не стал. |
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 3 Всего: 19 |
Плюсы наверное
![]() ТС. 1. Форматирование кривое. То есть оно в разных местах разное. 2. gender = 1; Пол лучше зафиксировать константами. 3. STUDENT(STUDENT & s) и STUDENT(STUDENT * s) можно выразить один через другой. 4. STUDENT::getExam сделай массив из трех результатов экзаменов. 5. STUDENT::getDate сделай getAge, getBirthday и getReceipt. Первое лучше вычислять через второе, как текущее_время - сохраненное_время (в качестве текущего_вреемени можно использовать и любое другое, если хочется узнать возраст человека, скажем, три года назад) 6. Какой ООП ты просишь посмотреть, там в коде просто пара структур. -------------------- You're face to face With man who sold the world |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Ты хотела сказать перечислением (enum)?
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 3 Всего: 19 |
Есть множество способов введения констант. Пусть будет перечисление.
-------------------- You're face to face With man who sold the world |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Есть множество. И в С разницы практически нет между #define и enum. А вот в С++ есть. А просто константа... Нужно сильно погеморроиться, чтобы не допустить присваивания левого значения... |
|||
|
||||
ferz721 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.1.2011 Репутация: нет Всего: нет |
сколько считаеться кода и файлов много при котором лучше архивировать?
да, похоже их нет. |
||||||
|
|||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
нисколько. данное действие крайне не рекомендуется. Во-первых, потому что люди не любят грузить всякую гадость. Во-вторых, просто лень. В-третьих, может не быть архиватора (ладно бы зип использовал). В-третьих, просто неудобно. Как ты можешь заметить, скачало только 4 участника форума. А если бы ты выложил текст просто так, то было бы на порядок больше просмотров. Поэтому, выкладываешь только те файлы, которых хочешь чтобы раскритиковали/похвалили. Более того, в большинстве случаев совсем не обязательно выкладывать полностью, достаточно лишь часть. Я сильно сомневаюсь, что народ срочно побежит твой код компилировать... Выкладывать архив следует тогда, когда тебя об этом попросят другие участники. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Вот поэтому и не стал скачивать. Можно было и в сообщение вставить и на LWS выложить... ferz721, тебе bsa уже дважды сказал, что прикреплённый архив - не лучшее решение, а воз и ныне там... -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
1. STUDENT(STUDENT * s) не нужен если есть STUDENT(STUDENT & s)
2. STUDENT(const STUDENT & s) 3. STUDENT(const STUDENT & s) не нужен, т.к. тривиален. компилятор сам его сделает 4. функции, определенные в классе не нужно объявлять inline, они такие по умолчанию 5. функции, не модифицирующие объект, должны быть объявлены с модификатором const
6. тривиальный (пустой) деструктор не нужен, компилятор сгенерирует его сам 7. signed int short это масло масляное. просто short 8. инициализация в конструкторе делается до тела
приведя класс в порядок мы получим весьма компактный код http://codepad.org/AHHyDYZ7 остальное в том же духе Это сообщение отредактировал(а) baldina - 11.11.2011, 13:48 |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
если в том же духе подойти, останутся структуры без всех этих ненужных в данном случае сетеров и гетеров.. да и экзамены не должны жить внутри студента.. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
т.е. от "задачи про ООП" ничего не останется?
![]() Добавлено через 1 минуту и 51 секунду полагаю, если отсутствие нескольких "полезных" конструкторов студент обоснует, это ему будет только в + Добавлено через 5 минут и 15 секунд мне кстати известен случай, когда студент подобным заниматься не стал, минималистский интерфейс объяснил, а на резонный вопрос преподавателя, что же материально и весомое останется для подтверждения знаний языка, студент на коленке набросал иерархию графических полиморфных объектов, попутно пояснив почему квадрат это не прямоугольник. препод был в отпаде. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ну так ООП "разделяй и властвуй", а не "нагромаждай и мучайся".. так что то что получилось за уши к ООП притянуть можно ![]() хотя там и изначально ничего ООПешного не было.. ![]() |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
ferz721 |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.1.2011 Репутация: нет Всего: нет |
Добавлено через 9 минут и 45 секунд
в книгах читал, что так стоит инициализировать в случае испльзования констант или при наследовании. почему так? |
||||||||||||
|
|||||||||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Во-первых, как иначе ты проинициализируешь константный атрибут класса? Рабочие варианты в студию (без грязных хаков, вроде const_cast и memcpy). Во-вторых, иногда при наследовании ты должен как-то передать параметры в конструктор базового класса. Сможешь предложить другие варианты? В-третьих, такой метод инициализации в принципе предпочтителен, так как у компилятора появляется больше возможностей для оптимизации. В-четвертых, ты вообще не читал про оформление кода? Ты нас (да и себя в первую очередь) не уважаешь? Зачем выкладываешь заведомо трудно читаемый код? Тебе же самому его сложно понимать. Помни, что код ты пишешь 1 раз, а читаешь на несколько порядков больше. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Lols |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 21.10.2011 Репутация: нет Всего: нет |
Оу... Распаковываю, смотрю, выпадаю в осадок, думаю, удаляю. Айм сорри :(
|
|||
|
||||
ferz721 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.1.2011 Репутация: нет Всего: нет |
тут я прочитал и теперь буду применять.
например я встречал людей которые знают меньше чем я и работают програмистами.
у меня экран маленький поэтому мне так удабней, выкладывать буду согласно статье. |
||||||
|
|||||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
О! Наконец-то адекватный новичок попался - на критику не в бутылку лезет, а нормально воспринимает. Такому у помочь хочется
![]() 1. Раз уж решил использовать STL, то переделай groupST, чтобы он хранил вектор. Как-то так
хотя... без дополнительного функционала это - ненужная надстройка над vector< STUDENT > 2. "Экзамен" не должен быть частью "студента". Максимум - студент может иметь список указателей на экзамены. (О.. уже говорили... Ну, ничего, повторение, как известно...) 3. Если с тем, что birthday и receipt у студента не меняется - я соглашусь, то age не меняется только у студентов, у которых gender == woman ![]() 4. Ну и, ессно, всё, что сказал baldina Это сообщение отредактировал(а) borisbn - 12.11.2011, 09:11 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
ferz721 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.1.2011 Репутация: нет Всего: нет |
borisbn ok
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
программа должна читаться в одном направлении, а именно - сверху вниз. бегать глазами сначала слева-направо, а затем сверху-вниз - оч. неудобно Это сообщение отредактировал(а) borisbn - 12.11.2011, 12:46 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Если он у тебя широкоэкранный (только это объяснение я могу придумать), то вариантов несколько: 1. купить второй монитор и поставить над первым. Через два часа дырки между ними замечать не будешь. 2. сменить среду разработки на ту, которая сохраняет максимум вертикального пространства. 3. если монитор позволяет, то повернуть его на 90 градусов. 4. писать короткие функции, чтобы влезали на экран (это в принципе вообще хорошо) 5. пересилить себя и смириться... Правила оформления кода придуманы не просто так. Есть даже языки, которые на неправильно оформленный код ругаются. В первую очередь это необходимо для того, чтобы одного взгляда на код было достаточно, чтобы определить его структуру. Где какие смысловые блоки, что в цикле, что в условии... Благодаря ему легко находятся (точнее, не допускаются) ошибки не включения операций в цикл/условие:
Да и потом, как заметил borisbn, код лучше читается сверху вниз. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |