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

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

12.10.2013, 11:08. Просмотров 6595. Ответов 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++):

Сказали сделать такое
Ребят, если что - простите, может не туда тему написал, скажите куда писать....

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

Ядрышко ОСи пишу
хм.Изучаю си два месяца.Хочу написать ОС.Простую, командную строку.И хочу...

Пишу транслятор и интерпритатор
Всем привет! Я пишу транслятор и интерпретатор. Те люди кто тоже этим...

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

Пишу велосипед (shared_ptr)
При компилировании получаем целую кучу ошибок. Не могу понять где я ошибся(...

160
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 11:09 #2
Цитата Сообщение от Demelurg Посмотреть сообщение
но препод говорит что иногда не красиво пишу
Цитата Сообщение от Demelurg Посмотреть сообщение
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
А у преподавателя спросить?
0
Demelurg
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 11:15  [ТС] #3
а у него не хотел спрашивать.
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 11:29 #4
Цитата Сообщение от Demelurg Посмотреть сообщение
а у него не хотел спрашивать.
У него как раз и нужно. Кто может знать, что ему не нравится? Коментарии, по-моему, не относятся к красоте написания кода. Обычно это относится к форматированию.
0
Demelurg
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 11:34  [ТС] #5
ну видимо всетаки спрошу а на ваш взгляд все норм ?
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 11:36 #6
Ничего особо некрасивого не вижу, кое-где пробелы не помешали бы (для удобочитаемости):
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
66
67
68
69
70
71
72
#include <iostream> 
#include <iomanip>
using namespace std; 
 
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
ninja2
969 / 188 / 32
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
12.10.2013, 11:38 #7
Demelurg, На мой взгляд так ты красиво пишешь. Пошли препода куда подальше, не обращай внимания.

Скажи ему как хочу так и пишу, то уже не ваше дело. Как писать это выбор лично каждого, ну если в команде, то тогда уже вместе решают как что писать.
2
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
12.10.2013, 11:38 #8
Цитата Сообщение от Demelurg Посмотреть сообщение
не красиво потомучто не подписую что делает та или иная функция в коментариях ???
Лучше называйте функции так, чтобы их предназначение было очевидно из названия.
1
Demelurg
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 11:39  [ТС] #9
ясно всем спасибки.
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
12.10.2013, 11:54 #10
Что замечено:
1. Зачем tmp_sec, tmp_min в качестве членов класса?
2. Класс надо бы вынести в отдельный модуль.
3. Передавать объект, если он не меняется, лучше по константной ссылке.
4. Приватные данные я бы поместил в конец определения класса.
0
Anton_Kretov
89 / 51 / 15
Регистрация: 26.06.2013
Сообщений: 179
12.10.2013, 11:58 #11
Я бы советовал делать объявление переменных одного типа в одной строке. Пример: int a, b, c, d;
1
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 12:00 #12
Лучший ответ Сообщение было отмечено как решение

Решение

А я бы не советовал...
3
Dimka-novitsek
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
12.10.2013, 13:21 #13
Да нормальный код. По моему, читается даже лучше, чем примеры из учебника.
0
castaway
12.10.2013, 13:29
  #14

Не по теме:

Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
По моему, читается даже лучше, чем примеры из учебника.
Я бы даже сказал, что читается лучше чем в 99% постах раздела "С++ для начинающих" )

0
cosmic
34 / 32 / 5
Регистрация: 29.08.2012
Сообщений: 84
Записей в блоге: 1
12.10.2013, 15:12 #15
Я бы сказал что ты больше 2х месяцев занимаешься С++
0
Matan!
Delphi/Java/DB Dev + Math
395 / 264 / 112
Регистрация: 31.05.2013
Сообщений: 2,161
Записей в блоге: 4
Завершенные тесты: 2
12.10.2013, 15:50 #16
Нормально всё читается.
Цитата Сообщение от Anton_Kretov Посмотреть сообщение
Я бы советовал делать объявление переменных одного типа в одной строке. Пример: int a, b, c, d;
Это спорно.Нам говорили,что хорошим стилем является объявление каждой переменной в отдельной строке.Кто как хочет,так и объявляет.Лишь бы винегрета не было в коде.
0
Avazart
Эксперт С++
7683 / 5592 / 543
Регистрация: 10.12.2010
Сообщений: 25,073
Записей в блоге: 17
12.10.2013, 16:04 #17
C++
1
sum_Time()
Може лучше
C++
1
sumTime()
или
C++
1
sum_time()
Что-то одно как разделитель слов.

Непонятно назначение :
C++
1
2
int tmp_sec;
int tmp_min;
Если они временные почему не объявлять их локально, если константы то почему их не объявлять как константы ?
0
Demelurg
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 17:06  [ТС] #18
1.да можно и не вносить их в клас ( tmp_sec, tmp_min ) но начал так писать и чтоб не поплутать оставил.
2. в Лафоре на тот момент не говорили как делать файл ".h" да и для маленькой проги не хотел создавать.
3.согласен но недавно начал учить класы да и метод который выводит походу const ?

C++
1
2
3
4
5
void Out_put()const
    {
        cout << setw(3) << " Time = " << setw(3) << hour << " : "
             << setw(3) << minute <<" : " << second << endl;
    }
4. тоесть вы говорите что сначала надо public: f gjnjv private: ???
0
kventin_zhuk
БНТУ ФИТР
215 / 155 / 41
Регистрация: 26.12.2012
Сообщений: 382
12.10.2013, 17:17 #19
Demelurg, норм, только не понравилось наименование методов. В константном - большая буква, в обычном - маленькие. Лично я открытые методы именую аля SumTime И перед private-полями ставлю нижнее подчеркивание - удобно потом в конструктор параметры передавать Дело привычки)
1
Demelurg
0 / 0 / 1
Регистрация: 12.10.2013
Сообщений: 32
12.10.2013, 17:28  [ТС] #20
в класе хотел обявить выдает ошыбку а глобально не хотел обявлять их ( int tmp_sec; int tmp_min )но да можно и локально.
kventin_zhuk а про
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
перед private-полями ставлю нижнее подчеркивание
не понял как ?
ты емеешь ввиду типа не так

C++
1
2
3
4
5
6
private:
    int hour;
    int minute;
    int second;
    int tmp_sec;
    int tmp_min;
а так ?

C++
1
2
3
4
5
6
private:
    int _hour;
    int _minute;
    int _second;
    int _tmp_sec;
    int _tmp_min;
0
12.10.2013, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 17:28
Привет! Вот еще темы с решениями:

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

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

Пишу итератор произвольного доступа
Пишу итератор произвольного доступа. По минимуму он должен поддерживать...

Пишу конвертер: число в строку
Пишу простенький конвертер, переводящий числа в слова. Проектирование на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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