Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> написал задачу ооп, посмотрите код, скажите где ошибки и + 
V
    Опции темы
ferz721
Дата 11.11.2011, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



thanks.
посмотрите код, скажите где ошибки и +

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  dzCpp.7z 3,35 Kb
PM MAIL   Вверх
boostcoder
Дата 11.11.2011, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(ferz721 @  11.11.2011,  10:12 Найти цитируемый пост)
и +

это что?
PM WWW   Вверх
bsa
Дата 11.11.2011, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(ferz721 @  11.11.2011,  11:12 Найти цитируемый пост)
посмотрите код
Раздражает необходимость качать и распаковывать файл.
посмотрел. дикое нарушение всех правил форматирования и оформления кода (один из вариантов тут). Дальше смотреть не стал.

PM   Вверх
newbee
Дата 11.11.2011, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



Цитата(boostcoder @  11.11.2011,  11:13 Найти цитируемый пост)
это что? 
Плюсы наверное smile

ТС.
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
PM   Вверх
bsa
Дата 11.11.2011, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(newbee @  11.11.2011,  11:25 Найти цитируемый пост)
2. gender = 1; Пол лучше зафиксировать константами.
Ты хотела сказать перечислением (enum)?
PM   Вверх
newbee
Дата 11.11.2011, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



Цитата(bsa @  11.11.2011,  11:27 Найти цитируемый пост)
Ты хотела сказать перечислением (enum)? 
Есть множество способов введения констант. Пусть будет перечисление.


--------------------
You're face to face
With man who sold the world
PM   Вверх
bsa
Дата 11.11.2011, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(newbee @  11.11.2011,  12:14 Найти цитируемый пост)
Есть множество способов введения констант.

Есть множество. И в С разницы практически нет между #define и enum. А вот в С++ есть. А просто константа... Нужно сильно погеморроиться, чтобы не допустить присваивания левого значения...
PM   Вверх
ferz721
Дата 11.11.2011, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



Цитата

Раздражает необходимость качать и распаковывать файл.

сколько считаеться кода и файлов много при котором лучше архивировать?
Цитата

Цитата

это что? 

плюсы наверное

да, похоже их нет.
PM MAIL   Вверх
bsa
Дата 11.11.2011, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(ferz721 @  11.11.2011,  13:01 Найти цитируемый пост)
сколько считаеться кода и файлов много при котором лучше архивировать?

нисколько. данное действие крайне не рекомендуется. Во-первых, потому что люди не любят грузить всякую гадость. Во-вторых, просто лень. В-третьих, может не быть архиватора (ладно бы зип использовал). В-третьих, просто неудобно. Как ты можешь заметить, скачало только 4 участника форума. А если бы ты выложил текст просто так, то было бы на порядок больше просмотров.
Поэтому, выкладываешь только те файлы, которых хочешь чтобы раскритиковали/похвалили. Более того, в большинстве случаев совсем не обязательно выкладывать полностью, достаточно лишь часть.
Я сильно сомневаюсь, что народ срочно побежит твой код компилировать...
Выкладывать архив следует тогда, когда тебя об этом попросят другие участники.
PM   Вверх
borisbn
Дата 11.11.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(bsa @  11.11.2011,  10:20 Найти цитируемый пост)
Раздражает необходимость качать и распаковывать файл.

Вот поэтому и не стал скачивать.
Можно было и в сообщение вставить и на LWS выложить...

ferz721, тебе bsa уже дважды сказал, что прикреплённый архив - не лучшее решение, а воз и ныне там...


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
baldina
Дата 11.11.2011, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 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
Код

string getName() const {return name;}

6. тривиальный (пустой) деструктор не нужен, компилятор сгенерирует его сам
7. signed int short это масло масляное. просто short
8. инициализация в конструкторе делается до тела
Код

STUDENT(string s, short g, long p, short ag, long b, unsigned long r) 
 : name(s), gender(g), phone(p), age(ag), birthday (b), receipt (r), exam1(0), exam2(0), exam3(0)
{}


приведя класс в порядок мы получим весьма компактный код http://codepad.org/AHHyDYZ7
остальное в том же духе


Это сообщение отредактировал(а) baldina - 11.11.2011, 13:48
PM MAIL   Вверх
mes
Дата 11.11.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(baldina @  11.11.2011,  12:45 Найти цитируемый пост)
остальное в том же духе

если в том же духе подойти, останутся структуры без всех этих ненужных в данном случае сетеров и гетеров.. 
да и экзамены не должны жить внутри студента.. 



--------------------
PM MAIL WWW   Вверх
baldina
Дата 11.11.2011, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



т.е. от "задачи про ООП" ничего не останется?  smile

Добавлено через 1 минуту и 51 секунду
Цитата(mes @  11.11.2011,  17:14 Найти цитируемый пост)
экзамены не должны жить внутри студента.. 

полагаю, если отсутствие нескольких "полезных" конструкторов студент обоснует, это ему будет только в +

Добавлено через 5 минут и 15 секунд
мне кстати известен случай, когда студент подобным заниматься не стал, минималистский интерфейс объяснил, а на резонный вопрос преподавателя, что же материально и весомое останется для подтверждения знаний языка, студент на коленке набросал иерархию графических полиморфных объектов, попутно пояснив почему квадрат это не прямоугольник. препод был в отпаде.
PM MAIL   Вверх
mes
Дата 11.11.2011, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(baldina @  11.11.2011,  16:18 Найти цитируемый пост)
т.е. от "задачи про ООП" ничего не останется?  

ну так ООП "разделяй и властвуй", а не "нагромаждай и мучайся".. так что то что получилось за уши к ООП притянуть можно  smile 
хотя там и изначально ничего ООПешного не было.. smile



--------------------
PM MAIL WWW   Вверх
baldina
Дата 11.11.2011, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(mes @  11.11.2011,  17:26 Найти цитируемый пост)
 ООП "разделяй и властвуй", а не "нагромаждай и мучайся"

красиво. запомню. smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.