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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Koт
0 / 0 / 0
Регистрация: 03.08.2010
Сообщений: 9
#1

Часы в псевдографике - C++

03.08.2010, 23:03. Просмотров 2470. Ответов 29
Метки нет (Все метки)

доброго времени суток.
задание заключается в написании программы, отображающую на экране текущее время в виде циферблата с секундной,минутной и часовой стрелками(разных цветов).
и сохранять картинку в файле по желанию пользователя.

заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2010, 23:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Часы в псевдографике (C++):

Размещение панелек друг над другом в псевдографике - C++
Не знал, куда такое задание кинуть, надеюсь, что попал по адресу. Если что это задание для первокурсника факультета информатики. ...

Программа, которая переводит часы и минуты в минуты или минуты – в часы и минуты - C++
Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и ...

Часы - C++
помогите плиз вот такую задачку решить: Даны целые числа M и N (0<M<=12, 0<=N<=60), указывающие момент времени: «M часов, N минут»....

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

Часы - C++
Нужно реализовать программу выполняющую перевод часов и минут в минуты и вычисляющую угол между минутной и часовой стрелкой. Вопрос: где...

Часы C++ - C++
Помогите с решением, так как вообще не шарю в плюсах...

29
Puporev
Модератор
52163 / 40021 / 13376
Регистрация: 18.05.2008
Сообщений: 92,329
04.08.2010, 21:04 #16
Да глупости все это. Можно еще просто нарисовать какое-то удобное время, когда стрелки расположены под углами, кратными 45 градусов. А как нарисовать стрелки символами в матрице когда углы между стрелками равны 6 градусам?
0
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
04.08.2010, 21:08 #17
интервал 15 минут))
0
Puporev
Модератор
52163 / 40021 / 13376
Регистрация: 18.05.2008
Сообщений: 92,329
04.08.2010, 21:10 #18
Цитата Сообщение от Koт Посмотреть сообщение
отображающую на экране текущее время в виде циферблата с секундной,минутной и часовой стрелками(разных цветов).
где здесь 15 минут?
0
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
04.08.2010, 21:11 #19
Цитата Сообщение от Puporev Посмотреть сообщение
А как нарисовать стрелки символами в матрице когда углы между стрелками равны 6 градусам?
вот я ответил))
0
Koт
0 / 0 / 0
Регистрация: 03.08.2010
Сообщений: 9
05.08.2010, 00:58  [ТС] #20
Цитата Сообщение от nikkka Посмотреть сообщение
Koт, ну, для начала я бы посоветовал использовать матрицу с нечётными сторонами (31х31 на пример) потому что именно у такой есть "центр".

Добавлено через 2 минуты
далее, что бы различать стрелки я бы обозначил их разными символами. к примеру мин. стрелка = '0' а час. стрелка = 'a'. тогдя даже если они будут перекрывать друг друга, всё будет ясно.

Добавлено через 6 минут
вам что то типа такого?
Код
              oooo
        ooo         ooo
    oo          M          oo 
  o             M              o 
 o              M               o
 o              M               o
 o              OHHHH        o
 o                              o
  o                            o
    oo                     oo
        ooo          ooo
              oooo
да, что-то вроде такого.
цвета и цифры на циферблате -мелочи(с этим проблем не возникнет, надеюсь))

только я уже третий раз повторю: проблема заключается в том, как их располагать, т е совмещение линия (стрелок) с функицей time. т е их позиция как-то должна зависить от угла, я так понимаю. но не могу понять зависимость.
одна минута = 6 гр.
т е тут нужно создать определенный цикл, который будет вычислять позицию в матрице символов рисующих срелки? или можно прописать для каждой минуты/часа/секунды отдельно?(О_о)
или скорее для каждого полукруга или четверти...
0
sheka
Босс
161 / 127 / 7
Регистрация: 03.06.2009
Сообщений: 750
05.08.2010, 01:59 #21

Не по теме:

100пудово садомазо


Тебе хватит одной функции
Код
Draw(Длина стрелки Д, время В){
  угол(а) от переменной В. Придумаешь как-то(простая пропорция)
  цикл{
    вычисляешь нужные клетки матрицы: x=(int)(Д*cos(a)). у - через синус.
    ну и конечно же заполняешь эти клетки разными символами, разными цветами.
  }
}
Как работать со временем - найди описание модуля time.h
0
Koт
0 / 0 / 0
Регистрация: 03.08.2010
Сообщений: 9
09.08.2010, 08:45  [ТС] #22
c циферблатом разобрался.
теперь стрелки.
отказался от матрицы, стал работать в обычной системе кооринат.
я не понял предыдущий коммент, но нужно ли переводить в полярную систему координат?

и про модуль:
сначала я прописываю структуру, а как достатть само число?
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
09.08.2010, 08:48 #23
Цитата Сообщение от Koт Посмотреть сообщение
нужно ли переводить в полярную систему координат?
Вовсе не обязательно.
В системе координат всё намного проще!
Хотя полярные координаты тоже многое упрощают.
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.08.2010, 08:51 #24
Цитата Сообщение от nikkka Посмотреть сообщение
Вовсе не обязательно.
В системе координат всё намного проще!
Хотя полярные координаты тоже многое упрощают.
В прямоугольной системе координат рисовать стрелки будет о-о-очень неудобно... Если это вообще возможно.
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
09.08.2010, 08:54 #25
Nameless One, почему???? в паскале на пример есть функция drawline(x1,y1,x2,y2). вычисляем координаты x2 и y2 по синусу/косинусу угла...
0
Puporev
Модератор
52163 / 40021 / 13376
Регистрация: 18.05.2008
Сообщений: 92,329
09.08.2010, 09:37 #26
Цитата Сообщение от nikkka Посмотреть сообщение
в паскале на пример есть функция drawline(x1,y1,x2,y2).
Во первых она называется Line, а потом здесь речь вроде шла о псевдографике.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
09.08.2010, 09:41 #27
Цитата Сообщение от Koт Посмотреть сообщение
стал работать в обычной системе кооринат.
а это тогда что?
0
Puporev
Модератор
52163 / 40021 / 13376
Регистрация: 18.05.2008
Сообщений: 92,329
09.08.2010, 09:44 #28
Цитата Сообщение от nikkka Посмотреть сообщение
а это тогда что?
Да кто бы знал.... Затея с самого начала провальная для псевдографики..
0
nikkka
09.08.2010, 09:47
  #29

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
Затея с самого начала провальная для псевдографики..
Ну, по крайней мере для такого маленькой матрицы (31х31).

0
Koт
0 / 0 / 0
Регистрация: 03.08.2010
Сообщений: 9
09.08.2010, 14:01  [ТС] #30
собественно, чтобы лучше понималось.
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
int _tmain(int argc, _TCHAR* argv[])
{ 
char i=0;(я тут мог напутать с типом)
char j=0;
struct time t;
settime (&t) (ругает, не знает что такое settime (библиотеку time.h подключил))
 
// дальше идет псевдографика (тут все нормально работает)
 
HANDLE display;
COORD p;
p.X=30; p.Y=12;
display=GetStdHandle(STD_OUTPUT_HANDLE);
system("cls");
//рисуем круг
circle(p,9,'*');    
 
// рисуем 4 цифры на циферблате
COORD r;
r.X=30; r.Y=20;
SetConsoleCursorPosition(display,r);
cout<< '6';
 
COORD g;
g.X=30; g.Y=4;
SetConsoleCursorPosition(display,g);
cout << '1'<< '2';
g.Y= g.Y+1;
 
COORD k;
k.X=47; k.Y=12;
SetConsoleCursorPosition(display,k);
cout << '3';
 
COORD h;
h.X=13; h.Y=12;
SetConsoleCursorPosition(display,h);
cout << '9';
//рисуем стреку минут;
 
i= (6*cos(6*t.ti_min%60)) ;  (тут же возникла проблема с незнанием того,что такое t.ti_min)
j= (6*sin(6*t.ti_min%60)) ;
// это 2 плавающие точки. т е как я сам понял это и есть перевод в полярную сисьтему. 6гр=1 минуте. 
COORD c1, c2;
c1.X = 30; c1.Y=12;
c2.X = i;  c2.Y=j;
line(c1,c2,'*');
HANDLE dysplay; 
dysplay = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = 0;
pos.Y = 0;
SetConsoleCursorPosition(dysplay,pos);
SetConsoleTextAttribute(dysplay,FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED);
 
 
 
getch();
 
 
    return 0;
}
сразу скажу, что с функцией разбрался плохо, поэтому возможно ошибка в ее прописке.
0
09.08.2010, 14:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2010, 14:01
Привет! Вот еще темы с ответами:

Часы - C++
Правильный ли код? #include &lt;iostream&gt; using namespace std; int main () { int k, h, m; cin &gt;&gt; k; h = k / 30; m = k*2...

Часы - C++
int main() { int sek,min,chas; chas=0; min=0; while(chas!=24) // Цикл подсчета часов { while(min!=60) // Цикл...

Электронные часы С++ - C++
Электронные часы показывают время в формате h:mm:ss (от 0:00:00 до 23:59:59), то есть сначала записывается количество часов, потом...

Стрелочные часы. - C++
Всем доброго время суток. Нашел в интернете код (DEV C++ WINAPI ANALOG CLOCK) программы исполнение которого запускает стрелочные часы: ...


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

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

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