Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.98
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 32
#1

Сказали некрасиво пишу - C++

12.10.2013, 11:08. Просмотров 6236. Ответов 160
Метки нет (Все метки)

изучаю с++ почти 2 месяц , пишу програму она работает но препод говорит что иногда не красиво пишу ((( пишу так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class Time
{
private:
    int hour;
    int minute;
    int second;
    int tmp_sec;
    int tmp_min;
public:
    Time():hour(0),minute(0),second(0) 
    {}
    Time(int h , int m , int s):hour(h),minute(m),second(s)
    {}
    void Out_put()const
    {
        cout<<setw(3)<<" Time = "<<setw(3)<<hour<<" : "
            <<setw(3)<<minute<<" : "<<second<<endl;
    }
 
    Time sum_Time(Time);
};
 
Time Time::sum_Time(Time other_time)
   {
       Time tmp;
       tmp_sec = 60;
       tmp_min = 60;
 
       tmp.hour = hour + other_time.hour ;
 
       tmp.second = second + other_time.second ;
       tmp.minute = minute + other_time.minute ;
        
           if ( tmp.second >= 60 )
               {
                   tmp_sec *= tmp.second / 60 ;
                   tmp.minute += tmp_sec / 60 ;
                   tmp.second -= tmp_sec ;
               }
 
               if ( tmp.minute >= 60 )
                   {
                       tmp_min *= tmp.minute / 60 ;
                       tmp.hour += tmp_min / 60 ;
                       tmp.minute -= tmp_min ;
                   }
      return tmp;
   }
   
int main()
{
    Time first_Time(22,155,177);
    Time second_Time(12,39,89);
 
    first_Time.Out_put();
    second_Time.Out_put();
 
    cout<<endl<<endl<<" You Three = ";
    Time three_Time = first_Time.sum_Time(second_Time);
    three_Time.Out_put();
 
    cout<<endl<<endl;
 
    return 0;
}
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 11:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сказали некрасиво пишу (C++):

Сказали сделать такое - C++
Ребят, если что - простите, может не туда тему написал, скажите куда писать. Вообщем мне нужна абсолютно безразницы чем создана программа,...

Пишу велосипед (shared_ptr) - C++
При компилировании получаем целую кучу ошибок. Не могу понять где я ошибся( #include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;utility&gt; ...

Ядрышко ОСи пишу - C++
хм.Изучаю си два месяца.Хочу написать ОС.Простую, командную строку.И хочу писать ядро.Сложно ли это?Допустим епросто хелловорлд и cin.Как...

Пишу транслятор и интерпритатор - C++
Всем привет! Я пишу транслятор и интерпретатор. Те люди кто тоже этим занимаются, или тем кому не лень, ПОЖАЛУЙСТА!!! Мне необходимо найти...

пишу ed, отмена изменений - C++
Черт меня дернул взять это своим проектом. В общем пишу через глобальные переменные типа сам буфер, текущими позиции, ссылки на начала...

Пишу консольное приложение - C++
Здравствуйте. Решил написать программу, идея программы заключается в том чтобы на базе консольного приложения написать программу(функции...

160
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 22:08 #91
Цитата Сообщение от Tulosba Посмотреть сообщение
Да у кого-то и моники наверное до сих пор монохромные. Когда вокруг множество возможностей использовать (бесплатные и не очень) редакторы с подсветкой синтаксиса и IDE, продолжать писать в чем-то менее функциональном, довольно странно. Имеется в виду на регулярной основе, а не в какие-то редкие моменты деятельности.
Вы, видимо, никогда ничем серьезным не занимались.. Отняв у вас IDE вы останетесь без рук. Почему вы решили что IDE - какой-то очень большой прогресс, которым обязательно надо пользоваться?
Я вообще считаю наоборот, если программист не может найти ошибку без подсветки IDE, то это плохой программист.
Многие люди пользуются обычными текстовыми редакторами и компилируют свои программы через Makefile-ы, и у меня язык не повернется назвать их устаревшими или новичками, скорее наоборот.
Цитата Сообщение от Tulosba Посмотреть сообщение
так ведь и m_ не нужна.
Вы видимо так и не поняли о чем идет речь в этой теме...
0
ct0r
Игогошка!
1775 / 677 / 42
Регистрация: 19.08.2012
Сообщений: 1,291
Завершенные тесты: 1
12.10.2013, 22:12 #92
Цитата Сообщение от Tulosba Посмотреть сообщение
Зачем вообще this? кроме как, если с аргументом не совпадает.
Иногда без него никак. Но в том случае уже пофиг как переменная называется, поэтому к теме не относится.
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,798
Записей в блоге: 17
12.10.2013, 22:24 #93
Цитата Сообщение от alsav22 Посмотреть сообщение
Роберт Мартин. "Чистый код".
Фиговый пример на мой взгляд, названия переменных должно само за себя говорить m_dst ни о чем него говорит
А комментарии стоит использовать только что бы избежать для хардкорных названий.

Что качается обращения this.* то его кажется не применишь в конструкторе как у ТС, типа

Добавлено через 6 минут
C++
1
2
3
4
5
6
Time(int hour , int minute , int second):
             this.hour(hour),
             this.minute(minute),
             this.second(second)
{
}
Добавлено через 6 минут
Мм... this не нужен, проверил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Time
{
private:
    int hour;
    int minute;
    int second;
// ...
};
 
Time(int hour , int minute , int second):
             hour(hour),
             minute(minute),
             second(second)
{
}
Но к такой записи нужно привыкнуть ...
1
ct0r
Игогошка!
1775 / 677 / 42
Регистрация: 19.08.2012
Сообщений: 1,291
Завершенные тесты: 1
12.10.2013, 22:37 #94
Avazart
мы это уже выяснили на 3ей странице)

Цитата Сообщение от ct0r Посмотреть сообщение
Time(int hour, int minute, int second): hour(hour), minute(minute), second(second)
В стандарте такая запись вполне определена и всегда работает.
1
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:00 #95
Цитата Сообщение от Tulosba Посмотреть сообщение
Не очень понятно. А как быть с inline методами? Инлайнишь один - инлайнить и все остальное в классе?
inline выносится в отдельный файл *.inl и инклудится в хедер

Добавлено через 56 секунд
Цитата Сообщение от castaway Посмотреть сообщение
Бессмысленно. Тогда уж заместо class писать struct и не писать вначале public:
Бессмысленно при условии что в классе одно поле
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:03 #96
Цитата Сообщение от Jupiter Посмотреть сообщение
inline выносится в отдельный файл *.inl и инклудится в хедер
Зачем инклудить лишний файл, если можно описать в этом же заголовочном?
Цитата Сообщение от Jupiter Посмотреть сообщение
Бессмысленно при условии что в классе одно поле
Если одно (или несколько) поле (полей) с доступом public то не безсмысленно.
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:03 #97
Цитата Сообщение от Убежденный Посмотреть сообщение
Предпочитаю писать m_Description вместо this.Description.
предпочитаю mDescription, подчеркивание требует синхронизации

Цитата Сообщение от castaway Посмотреть сообщение
Зачем инклудить лишний файл, если можно описать в этом же заголовочном?
затем что хедер это интерфейс, а не реализация
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:09 #98
Цитата Сообщение от Jupiter Посмотреть сообщение
затем что хедер это интерфейс, а не реализация
Это утверждение - стереотип.
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:12 #99
Цитата Сообщение от castaway Посмотреть сообщение
Если одно (или несколько) поле (полей) с доступом public то не безсмысленно.
чВ?
C++
1
2
3
4
5
6
class Foo
{
    FooPrivate* mPimpl;
public:
    ...
};
а теперь если убрать FooPrivate и вывалить все кишки в начале Foo

Цитата Сообщение от castaway Посмотреть сообщение
Это стереотип.
это best practice от парней из Купертино и не только
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:16 #100
Цитата Сообщение от Jupiter Посмотреть сообщение
чВ?
C++
1
2
3
4
5
6
7
struct color {
    uint8_t a;
    uint8_t r;
    uint8_t g;
    uint8_t b;
    uint32_t get_argb32() const { return (uint32_t)a << 24 | (uint32_t)r << 16 | (uint32_t)g << 8 | (uint32_t)b; }
};
По-твоему через класс это будет выглядеть лучше?
Цитата Сообщение от Jupiter Посмотреть сообщение
это best practice от парней из Купертино и не только
Кто все эти люди?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.10.2013, 23:24 #101
Цитата Сообщение от castaway Посмотреть сообщение
По-твоему через класс это будет выглядеть лучше?
ответ нет, пока этот тип остается POD-ом

Цитата Сообщение от castaway Посмотреть сообщение
Кто все эти люди?
в obj-c реализация методов принципиально выносится в отдельный файл
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:28 #102

Не по теме:

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


Цитата Сообщение от Jupiter Посмотреть сообщение
ответ нет, пока этот тип остается POD-ом
Ну так в этой теме никто и не различал POD от не-POD типа.

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
в obj-c реализация методов приниципиально выносится в отдельный файл
Я думаю не стоит сюда приплетать Obj-C.

0
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
12.10.2013, 23:32 #103
Да нашо еще думать как что обозначить? Да только над важными переменными можно подумать как их называть, локальные переменные можно просто называть i1, i2, i3, i4 и т.д. Важные переменные нужно называть ну что бы они читались и сами за себя говорили.

Вообще как то не задумывался над этим, да этих стилей по названию полно. Можно например первую букву давать переменной по типу, например для int i_a; или char c_b; string s_a; ну типо сразу видно какой тип в переменной.

Я думаю достаточно просто делить переменные на локальные и важные. Тем более важных переменных на 1к строк кода будет штук 10.
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,798
Записей в блоге: 17
12.10.2013, 23:34 #104
Цитата Сообщение от ninja2 Посмотреть сообщение
. Можно например первую букву давать переменной по типу, например для int i_a; или char c_b; string s_a; ну типо сразу видно какой тип в переменной.
А вот этого делать не рекомендуют ...
Особенно если Вы пишете не в IDE, заманаетесь переименовывать, если вдруг придется изменить тип переменной.
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 23:36 #105
Цитата Сообщение от ninja2 Посмотреть сообщение
Можно например первую букву давать переменной по типу, например для int i_a; или char c_b; string s_a; ну типо сразу видно какой тип в переменной.
На самом деле.., не стоит. Локальных переменных не должно быть много, поэтому в них не сложно разобраться. Префикс для них, на мой взгляд, будет лишним.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 23:36
Привет! Вот еще темы с ответами:

Пишу ОС, нужен доступ к экрану - C++
Здравствуйте! Пишу свою ОС, основная работа на ассемблере есть, теперь осталось написать на Си. Проблема такая, есть адрес видеопамяти...

Вопрос новичка - пишу калькулятор - C++
Всем привет! Изучаю с++ пока второй день (вернее третий час)), наверно как и многие, пишу калькулятор. Однако написав простые действия,...

Пишу конвертер: число в строку - C++
Пишу простенький конвертер, переводящий числа в слова. Проектирование на начальном этапе находится, поэтому функции постепенно дорабатываю....

Пишу итератор произвольного доступа - C++
Пишу итератор произвольного доступа. По минимуму он должен поддерживать несколько операций, но меня смутила операция n+it, где n это целое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
105
Yandex
Объявления
12.10.2013, 23:36
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru