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

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

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

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

12.10.2013, 11:08. Просмотров 6240. Ответов 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
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
12.10.2013, 17:44 #31
alsav22, это откуда вообще?) Всегда так делал - и неоднократно видел как делают другие. Это же все сугубо в моем классе.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 17:47 #32
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
alsav22, это откуда вообще?)
29 пост.
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
Всегда так делал - и неоднократно видел как делают другие.
Делать, вообще, всё можно. Тут тема другая.
0
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
12.10.2013, 17:54 #33
ct0r, это если использовать список инициализации. А вот если теле конструктора обращаться и к тому и к другому? this будет нужно использовать.

Добавлено через 6 минут
Убежденный, Ну первое понятно - а второе: зарезервированы для использования в качестве имени в глобальном пространстве имен. Не тот случай же.
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,292
Завершенные тесты: 1
12.10.2013, 17:55 #34
Цитата Сообщение от Demelurg Посмотреть сообщение
извините не понял ? проверка какие дание ввожу ?
скобки которые после конструктора ?
Если я передам в конструктор отрицательные числа, то что будет?
Да, и которые после if.

castaway
Я бы все-таки идеологически немного различал структуру и класс. Обычно пишу структуру, когда на первом месте - доступ и модификация данных, а класс - когда действия над ними.

kventin_zhuk
Ну это уже само собой. Я думал, что ты только про список инициализации говоришь.
1
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 17:57  [ТС] #35
извините ребят я уже заплутался , спасиб много полезного узнал , иду дальше учить есле что то вас ищо потревожу .
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 17:59 #36
Цитата Сообщение от ct0r Посмотреть сообщение
Я бы все-таки идеологически немного различал структуру и класс.
А что их различать? У них разница только в public: и private: по-умолчанию. Если хочешь больше писанины то следуй своему варианту, я не против.
0
Phantom
Эксперт С++
3164 / 846 / 16
Регистрация: 29.12.2008
Сообщений: 952
12.10.2013, 18:00 #37
Как на мой вкус, то переменные убого названы. Есть camelCase aka "верблюжья нотация", есть under_score - принципиальные схемы именования. Почитай про венгерскую нотацию. У тебя же какой-то средний вариант, смотрится не очень. Конечно, кажется мелочью, но на самом деле в будущем, на реальной работе, могут потребовать (корпоративный стиль).

Второе, что не понравилось - тот факт, что какая-то часть методов класса реализована при его объявлении, а метод sum_Time вынесен. Я бы вынес объявление класса в .h-файл, его реализацию в .cpp-файл, и точку входа main - в свой файл. Это традиционный подход, но даже если ты его не захочешь придерживаться, то хотя бы в своем коде должно быть какое-то однообразие. Выносишь методы - выноси все, реализуешь их при объявлении - реализуй все.

И не брезгуй пробелами и адекватным форматированием (вон на 34 и 41 строках if-ы на разном уровне), для этого есть Ctrl + K, Ctrl + F в Visual Studio, например.

Так что в целом соглашусь с преподавателем - неэстетичный код.
1
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 18:02  [ТС] #38
а Лафоре говорит что структура ток для даных а клас для даных + методы(функции).и по ООП лутше использовать класы чем структуры или я не прав ?
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 18:03 #39
Цитата Сообщение от Demelurg Посмотреть сообщение
а Лафоре говорит что структура ток для даных а клас для даных + методы(функции).и по ООП лутше использовать класы чем структуры или я не прав ?
Или. Вместе с Лафоре.
0
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
12.10.2013, 18:05 #40
Demelurg, В плюсах стркутура считай тот же класс. Но вот в си - обычные) создатели плюсов оставили зарезервированное слово для совместимости и расширили их возможности
0
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 18:05  [ТС] #41
Phantom про .h-файл ищо не учил , знаю про него немножко, за книгу спасиб , почитаю на днях( до работы мне ищо далеко)а метод вынес чтоб попробовать , в теме книги говорили что можно так делать.
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,292
Завершенные тесты: 1
12.10.2013, 18:06 #42
Цитата Сообщение от castaway Посмотреть сообщение
А что их различать? У них разница только в public: и private: по-умолчанию. Если хочешь больше писанины то следуй своему варианту, я не против.
Ну знаешь, так можно вообще классы прекратить писать - открытое наследование используется чаще, а у структур оно тоже по дефолту)
В целом с точки зрения кол-ва писанины и языка большой разницы нет. Но когда я встречаю в большом коде структуру, она как бы мне говорит: чувааак, обрати внимание на мои данные. А когда класс - чуваак, посмотри повнимательнее на функции-члены.
1
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
12.10.2013, 18:08 #43
ct0r, да пиши как хочешь, мне все равно. Я лишь констатирую факт.

Не по теме:

Там конечно есть маленький нюанс при наследовании, но тут это не рассматривается..

0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.10.2013, 18:09 #44
Цитата Сообщение от Phantom Посмотреть сообщение
Выносишь методы - выноси все, реализуешь их при объявлении - реализуй все.
Не очень понятно. А как быть с inline методами? Инлайнишь один - инлайнить и все остальное в классе?
0
Phantom
Эксперт С++
3164 / 846 / 16
Регистрация: 29.12.2008
Сообщений: 952
12.10.2013, 18:15 #45
Tulosba, ну это да, исключение.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 18:15
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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