Автор: Пользователь скрыл имя, 13 Декабря 2011 в 13:16, курсовая работа
Компьютерная графика на сегодняшний день уже вполне сформировалась как наука. Существует аппаратное и программное обеспечение для получения разнообразных изображений – от простых чертежей до реалистичных образов естественных объектов. Компьютерная графика используется практически во всех научных и инженерных дисциплинах для наглядности восприятия и передачи информации. Знание её основ, в наше время, необходимо любому ученому и инженеру. Она властно вторгается в бизнес, медицину, рекламу, индустрию развлечений и многие другие области.
После выводим системную дату :
settextstyle(0,0,1); outtextxy(290,310,g);
if((d.da_day)<10) outtextxy(280,322,gg);
else outtextxy(283,322,gg); , если день больше 10 то смешаем координаты, чтоб отображались все символы. Для того чтобы изобразить циферблат используем circle:
circle(320,240,215); setfillstyle(9,8);
floodfill(320,240,WHITE); circle(320,240,200);
setfillstyle(1,0); floodfill(320,240,WHITE);
Выводим две окружности , радиус одного меньше другого закрашиваем каждую окружность с помощью функций floodfill.
void outtextxy(int x, int y, const char* Текст);
Устанавливает
указатель вывода в точку с
координатами (х, у) и выводит от нее
строку Текст, при этом указатель
вывода своего положения не меняет,
т. е. остается в точке с координатами
(х, у).Цвет выводимых символов можно
задать при помощи функции setcolor, шрифт
— settextstyle.
Заголовочный файл: <graph.h> .
settextstyle(4,0,4); setcolor(15);
o(304,64,"12"); o(395,87,"1"); ,печатаем цифры от 1 до 12 по окружности.
В цикле do …. While вызывается функция date() и выводиться системная дата и время(в цифровом виде), используя getdate(&d);
sprintf(gg,"%02d.%02d.%d",d.
settextstyle(0,0,2); date();
int scanf(const char* Формат, СписокАмресовПеременных);
Вводит
с клавиатуры значения переменных,
в соответствии с указанным спецификатором
формата. Первая переменная получает значение
в соответствии с первым спецификатором
формата, вторая — со вторым и т. д.
В качестве параметра функции scanf должны
передаваться адреса переменных, а не
их имена.
|
void settexstyle(int Шрифт, int Ориентация, int Размер);
Устанавливает шрифт, размер и ориентацию текста, выводимого функциями outtextxy и outtext. В качестве параметра Шрифт можно использовать одну из перечисленных ниже констант.
|
Draw() – выводит часовые, минутные и секундные стрелки
…
line(320,240,320+120*cos(a1),2
a1=(t.ti_hour%12+t.ti_min/60.
a2=(t.ti_min+t.ti_sec/60.0)*
a3=t.ti_sec*pi/30-pi/2;
Используя :
sec=t.ti_sec; if((t.ti_sec==0) && (t.ti_min==0)) printf("\a");
do { gettime(&t); }
while (sec==t.ti_sec);
setcolor(0); draw();
date(); } закрашиваем в черный цвет стрелки, добиваемся эффекта движенья стрелок.
while(!kbhit()) – ждем нажатья кнопки, после выход
closegraph();
- завершаются действия с графикой и выход
из графического режима .
3.
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
#include <time.h>
#include <graphics.h>
#define o outtextxy
int gd=0,gm,i;
char g[20],gg[20], tau[7];
float a1,a2,a3,pi=3.1415925;
struct time t;
struct date d;
int sec,r;
void logos()
{settextstyle(0,0,2);
sprintf(tau,"TauRolex09");
o(240,155,tau);}
void draw()
{line(320,240,320+120*cos(a1),
line(320,240,320+150*cos(a2),
line(320,240,320+175*cos(a3),
void date()
{settextstyle(0,0,1);
outtextxy(290,310,g);
if((d.da_day)<10) outtextxy(280,322,gg);
else outtextxy(283,322,gg);}
void main()
{ initgraph(&gd,&gm," ");
circle(320,240,215);
setfillstyle(9,8);
floodfill(320,240,WHITE);
circle(320,240,200);
setfillstyle(1,0);
floodfill(320,240,WHITE);
for(i=0;i<12;i++)
{a1=i*pi/6;
line(320+180*cos(a1),240+180*
do {settextstyle(4,0,4);
setcolor(15);
o(304,64,"12"); o(395,87,"1");
o(453,144,"2"); o(482,225,"3");
o(450,323,"4"); o(395,373,"5");
o(312,388,"6"); o(238,356,"7");
o(181,306,"8"); o(152,226,"9");
o(175,142,"10"); o(233,85,"11");
circle(320,240,3); getdate(&d);
sprintf(gg,"%2d.%02d.%d",d.da_
settextstyle(0,0,2);
a1=(t.ti_hour%12+t.ti_min/60.
a2=(t.ti_min+t.ti_sec/60.0)*
a3=t.ti_sec*pi/30-pi/2;
sprintf(g,"%02d:%02d:%02d",t.
date(); draw(); logos();
sec=t.ti_sec; if((t.ti_sec==0) && (t.ti_min==0)) printf("\a");
do { gettime(&t); }
while (sec==t.ti_sec);
setcolor(0); draw();
date(); }
while(!kbhit());
getch();
closegraph(); }
Литература:
«Аналитическая геометрия».