Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Простые вопросы. Начинающим сюда. / 16 сообщений из 16, страница 1 из 1
28.10.2006, 01:33
    #34088415
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Тут предлагаю изучающим С++ выкладывать простые вопросы, наподобие "Что делает функция cout и как вывести строчку в консоли?", не требующие долгих споров и размышлений.

Начну я. Как заставить консоль реагировать на нажатие клавиш и где можно посмотреть имена клавиш? Если ответите небольшим примером, буду благодарен.
...
Рейтинг: 0 / 0
28.10.2006, 16:56
    #34088723
Tracer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
имена клавиш можно посмотреть на клавиатуре - там такие ( обычно ) чёрные значки, а консоль и так сама реагирует - она дама нервная.
...
Рейтинг: 0 / 0
28.10.2006, 21:13
    #34088843
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
А снизу красные, я в сумлениях... Я имел ввиду виртуальные клавиши. Например определение действия после нажатия определенной клавиши. Нашел сам, коды виртуальных клавиш тут
...
Рейтинг: 0 / 0
30.10.2006, 00:32
    #34089814
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Не могу найти в учебниках и хелпе ничего кроме воды. Есть задача сделать класс времени и метод, складывающий две переменные этого класса. class Time
{
public:
unsigned int hour;
unsigned int min;
unsigned int sec;
void out(t);
void sum(t1, t2);
};
Почему он пишет ошибку в sum и не пишет в out? Как дальше реализовать функцию? Можно просто описание, тело функции сделаю сам.
...
Рейтинг: 0 / 0
30.10.2006, 00:48
    #34089822
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
ДестанЕсть задача сделать класс времени и метод, складывающий две переменные этого класса.
Правильное решение - объяснить преподу, что постановка задачи неверна или как минимум недостаточна. Пусть расскажет, что будет, если к половине второго утра добавить без четверти шесть вечера.
...
Рейтинг: 0 / 0
30.10.2006, 01:10
    #34089834
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Скорее добавить к двум часам экзамена ёще четыре часа пересдачи... Там надо при создании переменной класса присвоить ей значения по умолчанию.
...
Рейтинг: 0 / 0
30.10.2006, 09:16
    #34090042
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
ДестанНе могу найти в учебниках и хелпе ничего кроме воды. Есть задача сделать класс времени и метод, складывающий две переменные этого класса. class Time
{
public:
unsigned int hour;
unsigned int min;
unsigned int sec;
void out(t);
void sum(t1, t2);
};
Почему он пишет ошибку в sum и не пишет в out? Как дальше реализовать функцию? Можно просто описание, тело функции сделаю сам.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 Time sum( Time t1, Timet2){
    Time v;
    v.hour = t1.hour + t2.hour;
    v.min = t1.min + t2.min;
    v.sec = t1.sec + t2.sec;
    if( v.sec >=  60  )
    {
        v.sec -=   60 ;
        v.min++;
    }
    if( v.min >=  60  )
    {
        v.min -=   60 ;
        v.hour++;
    }
    if( v.hour >=  24  )
    {
        v.hour -=   24 ;
    }
    return v;
 };

что такое out я не понял.
...
Рейтинг: 0 / 0
30.10.2006, 12:30
    #34090701
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Код: plaintext
1.
2.
3.
void out(Time t)
{
 printf("%02d:%02d:%02d",t.hour,t.min,t.sec);
}
...
Рейтинг: 0 / 0
30.10.2006, 12:32
    #34090717
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Lepsik
Код: plaintext
1.
2.
3.
    if( v.hour >=  24  )
    {
        v.hour -=   24 ;
    }
только часы, наверно, не надо убавлять, раз уж это TimeSpan
...
Рейтинг: 0 / 0
30.10.2006, 23:35
    #34092601
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
void out(t);
void sum(t1, t2);

operator << (который out ) обычно реализуется как static (or global) friend , имеющий два параметра: поток и объект данного класса.

operator + (который sum) обычно реализуется как константный метод данного класса с одим параметром, или как static (or global) friend, имеющий два параметра.
...
Рейтинг: 0 / 0
09.11.2006, 22:33
    #34117689
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Решение задачи я написал почти такое же, но прога не компилировалась. После долгих и упорных интимных отношений с этой прогой и моря перекопанных материалов выяснилась ошибка - Time - зарезервированное слово, поэтому и не компилировалось. Изменил название класса на TTime и всё заработало. Спасибо всем, кто тут отметился.
...
Рейтинг: 0 / 0
10.11.2006, 00:48
    #34117810
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Что значит звездочка в записи
Код: plaintext
char* fio;
в объявлении класса? Без неё не компилится, а в 1000 страницах учебника искать долго...
...
Рейтинг: 0 / 0
10.11.2006, 00:56
    #34117816
Дестан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Когда ваша программа узнает адрес памяти, она сможет использовать операцию разыменования C++ (*) для определения значения, хранимого по данному адресу.
Нашел сам, теперь понятно.
...
Рейтинг: 0 / 0
10.11.2006, 09:40
    #34118266
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
ДестанЧто значит звездочка в записи
Код: plaintext
char* fio;
в объявлении класса? Без неё не компилится, а в 1000 страницах учебника искать долго...

Модификатор типа данных, обозначающий, что этот тип - указатель на модифицируемый тип.

char -- тип "символ" (на самом деле целое знаковое число размером в 8 бит, а никакой не символ).
char* -- тип "указатель на символ"
...
Рейтинг: 0 / 0
10.11.2006, 09:43
    #34118277
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
Дестанвыяснилась ошибка - Time - зарезервированное слово, поэтому и не компилировалось. Изменил название класса на TTime и всё заработало.

Time не является зарезервированным словом. В С/С++ все зарезервированные слова состоят только из букв в нижнем регистре, а С.С++ - языки, чувствительные к регистру символов текста программы.

Time может быть уже объявленным где-то типом данных, тогда также будет проблема.
...
Рейтинг: 0 / 0
10.11.2006, 09:49
    #34118307
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простые вопросы. Начинающим сюда.
А зачем все в кучук валить , есть вопрос задавай :)
то есть создавай новый топик.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Простые вопросы. Начинающим сюда. / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]