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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.98
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 28
12.10.2013, 11:08     Сказали некрасиво пишу #1
изучаю с++ почти 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;
}
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 11:08     Сказали некрасиво пишу
Посмотрите здесь:

пишу ed, отмена изменений C++
Пишу ОС, нужен доступ к экрану C++
C++ Вопрос новичка - пишу калькулятор
Пишу консольное приложение C++
C++ пишу калькулятор. подскажите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:15     Сказали некрасиво пишу #61
Tulosba, есть, например, макрос __cplusplus.
Да и если ты в своей программе используешь свой макрос, ты же его обычно так же большими буквами и пишешь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:16     Сказали некрасиво пишу #62
Цитата Сообщение от castaway Посмотреть сообщение
А кем эти правила определены?
Стандартом же. См. вырезки от Убежденный например

Добавлено через 33 секунды
Цитата Сообщение от castaway Посмотреть сообщение
есть, например, макрос __cplusplus.
так он с двумя подчерками вообще-то
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:17     Сказали некрасиво пишу #63
Цитата Сообщение от Tulosba Посмотреть сообщение
Вообще, нормальные IDE с подсветкой синтаксиса и так что надо подсветят. Что никакие m_ нафиг не нужны. Хотя, если кто-то практикует блокнот или vi ....
Префикс m_ не только избавит от возможного конфликта имен, но и облегчит жизнь программисту когда он будет разбираться в коде. Если код написан в одном стиле, тогда в нем намного легче разобраться чем является переменная видя префикс m_.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:17     Сказали некрасиво пишу #64
Цитата Сообщение от castaway Посмотреть сообщение
Да и если ты в своей программе используешь свой макрос, ты же его обычно так же большими буквами и пишешь.
Забудь про свои макросы. Речь про предопределенные (зарезервированные то бишь).
Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,584
Записей в блоге: 17
12.10.2013, 21:18     Сказали некрасиво пишу #65
Цитата Сообщение от Tulosba Посмотреть сообщение
Макросы они ж тупые не разбирают где "мой", где "твой". Подстановка же банальная.
Ну так а разработчики компиляторов на что ?
Собственно какого макросы компилятора должны делать в глобальном пространстве ?

Я конечно понимаю что можно напороться, к примеру, на разные расширения, к примеру в C++Builder типа
__property или __finally но те кто используют его и так знают про эти штуки.

К тому же речь про одинарные подчеркивания.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:19     Сказали некрасиво пишу #66
Цитата Сообщение от castaway Посмотреть сообщение
Если код написан в одном стиле, тогда в нем намного легче разобраться чем является переменная видя префикс m_.
Так же думали в майкрософт, когда тип переменной к идентификатору приклеивали.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:19     Сказали некрасиво пишу #67
Цитата Сообщение от Tulosba Посмотреть сообщение
Забудь про свои макросы.
По-твоему макросы, определенные пользователем, не могу конфликтовать с системными?
Цитата Сообщение от Tulosba Посмотреть сообщение
Так же думали в майкрософт, когда тип переменной к идентификатору приклеивали.
Пустые слова.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
12.10.2013, 21:20     Сказали некрасиво пишу #68
Цитата Сообщение от Tulosba Посмотреть сообщение
Хотя, если кто-то практикует блокнот или vi ....
я тут
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:20     Сказали некрасиво пишу #69
Цитата Сообщение от Avazart Посмотреть сообщение
Собственно какого макросы компилятора должны делать в глобальном пространстве ?
Я, если честно, вопроса не понял. Ну вот подключили Вы хедер с макросом куда-либо. Теперь там этот макрос и живет. Глобально, локально, везде.
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,339
Завершенные тесты: 1
12.10.2013, 21:23     Сказали некрасиво пишу #70
Господа, мне кажется спор раздувается на пустом месте.
Думаю, все (ну почти все) согласны с тем, что ведущее подчеркивание
может стать источником проблем (а может и не стать). Поэтому его
стоит избегать, тем более, что это ничего не стоит
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:24     Сказали некрасиво пишу #71
Цитата Сообщение от Avazart Посмотреть сообщение
Собственно какого макросы компилятора должны делать в глобальном пространстве ?
Ну так, в любом компиляторе есть свои глобальные макросы (GCC), которые, например определяют сам компилятор.
Собственно, на них и строится кросплатформенная разработка.
Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,584
Записей в блоге: 17
12.10.2013, 21:28     Сказали некрасиво пишу #72
Цитата Сообщение от Tulosba Посмотреть сообщение
Я, если честно, вопроса не понял. Ну вот подключили Вы хедер с макросом куда-либо. Теперь там этот макрос и живет. Глобально, локально, везде.
Ну в принципе да, стоит вспомнить про _DEBUG.

Добавлено через 2 минуты
Цитата Сообщение от Убежденный Посмотреть сообщение
Поэтому его
стоит избегать, тем более, что это ничего не стоит
Оно то так, но m_xxx читаемости на мой взгляд не добавляет, а xxx_ тем более...
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:30     Сказали некрасиво пишу #73
Цитата Сообщение от Убежденный Посмотреть сообщение
Поэтому его
стоит избегать, тем более, что это ничего не стоит
Да лучше вообще ничего не трогать Если работает конечно.
Однако, всё, что хотелось понять/выяснить/доказать, что идентификатор, начинающийся с единичного символа подчеркивания и следующей за ним маленькой буквы, вполне валиден в качестве члена класса, например.
Но эта валидность никоим образом не должна убеждать использовать такие идентификаторы.
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,339
Завершенные тесты: 1
12.10.2013, 21:32     Сказали некрасиво пишу #74
Цитата Сообщение от Avazart Посмотреть сообщение
Оно то так, но m_xxx читаемости на мой взгляд не добавляет, а xxx_ тем более...
И открыл он ящик Пандоры...
Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,584
Записей в блоге: 17
12.10.2013, 21:34     Сказали некрасиво пишу #75
Цитата Сообщение от Убежденный Посмотреть сообщение
И открыл он ящик Пандоры...
Ну собственно вероятно стоит стараться писать без всяких префиксов, как это сделал ТС
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
12.10.2013, 21:41     Сказали некрасиво пишу #76
А зачем нам префиксы, если есть постфиксы?
_hour -> hour_
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.10.2013, 21:44     Сказали некрасиво пишу #77
Цитата Сообщение от ct0r Посмотреть сообщение
_hour -> hour_
лучше сразу h_o_u_r_
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 21:44     Сказали некрасиво пишу #78
Цитата Сообщение от ct0r Посмотреть сообщение
А зачем нам префиксы, если есть постфиксы?
_hour -> hour_
Префикс из буквы может означать тип/местоположение переменной/константы/класса/структуры/объединения или другого типа, в постфиксах смысла вообще не вижу..
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
12.10.2013, 21:47     Сказали некрасиво пишу #79
Цитата Сообщение от Tulosba Посмотреть сообщение
лучше сразу h_o_u_r_
Ну с такими предложениями в гугл) http://google-styleguide.googlecode....k/cppguide.xml
А то там только один _ ставят в конце.

Цитата Сообщение от castaway Посмотреть сообщение
Префикс из буквы может означать тип/местоположение переменной/константы/макроопределения, в постфиксах смысла вообще не вижу..
В постфиксах такой же смысл. _ - значит private.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 21:47     Сказали некрасиво пишу
Еще ссылки по теме:

C++ Пишу транслятор и интерпритатор
Сказали сделать такое C++
Ядрышко ОСи пишу C++

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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,339
Завершенные тесты: 1
12.10.2013, 21:47     Сказали некрасиво пишу #80
Цитата Сообщение от castaway Посмотреть сообщение
Префикс из буквы может означать тип/местоположение переменной/константы/класса/структуры/объединения или другого типа
Кстати, да.
g_Hour - глобальная, m_Hour - член класса, s_Hour - статик и т.д.

Открывая ящик Пандоры нараспашку...
Yandex
Объявления
12.10.2013, 21:47     Сказали некрасиво пишу
Ответ Создать тему
Опции темы

Текущее время: 06:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru