1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Объясните принцип работы программы

Тема в разделе "Общие вопросы по С и С++", создана пользователем AlexanderNo, 20 апр 2008.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. AlexanderNo

    AlexanderNo Гость

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

    [codebox]#include <stdio.h>
    #include <math.h>
    #include <graphics.h>
    #include <conio.h>
    #include <dos.h>
    //---------------------------------------------------------------------------
    void timetext(int x, int y, int hour,int min,int sec)
    {
    char c[9];
    setfillstyle(1, WHITE);
    bar(x-32,2*y+10,x+32,2*y+18);
    c[0]=hour/10+'0';
    c[1]=hour%10+'0';
    c[2]=':';
    c[3]=min/10+'0';
    c[4]=min%10+'0';
    c[5]=':';
    c[6]=sec/10+'0';
    c[7]=sec%10+'0';
    c[8]=0;
    outtextxy(x-32 ,2*y+10, c);
    }
    //---------------------------------------------------------------------------
    void draw(int x, int y, int r, int &color)
    {
    struct time t,b;
    int g,j,k;
    gettime(&t);
    if(color>13)color=0;
    setcolor(color++);
    if(color>13)color=0;
    if(t.ti_hour>12)t.ti_hour-=12;
    for(j=-5;j<=5;j++)
    {
    line(x+j,y,x+cos((3-t.ti_hour)*M_PI/6)*(r-70),y-sin((3-t.ti_hour)*M_PI/6)*(r-70));line(x,y,x+cos((3-t.ti_hour)*M_PI/6)*(r-70),y-sin((3-t.ti_hour)*M_PI/6)*(r-70));
    line(x,y+j,x+cos((3-t.ti_hour)*M_PI/6)*(r-70),y-sin((3-t.ti_hour)*M_PI/6)*(r-70));
    };
    setcolor(color++);
    if(color>13)color=0;
    for(j=-2;j<=2;j++)
    {
    line(x+j,y,x+cos((15-t.ti_min)*M_PI/30)*(r-50),y-sin((15-t.ti_min)*M_PI/30)*(r-50));
    line(x,y+j,x+cos((15-t.ti_min)*M_PI/30)*(r-50),y-sin((15-t.ti_min)*M_PI/30)*(r-50));
    };
    setcolor(color++);
    if(color>13)color=0;
    line(x,y,x+cos((15-t.ti_sec)*M_PI/30)*(r-25),y-sin((15-t.ti_sec)*M_PI/30)*(r-25));
    setcolor(GREEN);
    setfillstyle(1,GREEN);
    pieslice(x,y,0,360,5);

    timetext(x,y,t.ti_hour, t.ti_min, t.ti_sec);
    gettime(&b);
    while(t.ti_sec==b.ti_sec)gettime(&b);
    if(b.ti_hour>12)b.ti_hour-=12;
    if(t.ti_hour!=b.ti_hour)for(k=1; k<=b.ti_hour; k++){nosound();sound(130);delay(10);}else if(t.ti_min!=b.ti_min)sound(349.2),delay(50);else sound(493.9),delay(50); nosound();
    setcolor(YELLOW);
    setfillstyle(1, YELLOW);
    pieslice(x,y,0,360,r-24);
    }
    //---------------------------------------------------------------------------

    void main ()
    {
    int gdriver=DETECT,gmode=VGAHI,errorcode;
    initgraph(&gdriver, &gmode, "d:\\turboc\\bgi");
    errorcode=graphresult();
    if(errorcode!=grOk)
    {
    printf("Graphics error: %s\n",grapherrormsg(errorcode));
    getch();
    return;
    };
    char hour[12][3]={ " 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9","10","11","12"};
    setfillstyle(1,WHITE);
    setcolor(BLACK);
    bar(0,0,getmaxx()-1,getmaxy()-1);
    textcolor(BLACK);
    textbackground(WHITE);
    outtextxy(2,2, "created by Melnichenko Alexandr AM-709");
    int x=getmaxx()/2;
    int y=(getmaxy()-40)/2;
    int r=y-15;
    circle(x,y,r);
    setcolor(YELLOW);
    setfillstyle(1,YELLOW);
    pieslice(x,y,0,360,r-1);
    setcolor(BLACK);
    for(int i=0; i<12; i++)
    {
    outtextxy(x-(getmaxx()+1)/64+cos((2-i)*M_PI/6)*(r-10),y-(getmaxy()+1)/160-sin((2-i)*M_PI/6)*(r-10), hour);
    };
    for(i=0;i<60;i++)
    {
    if(i%5==0)
    setcolor(BLUE),line(x+cos((15-i)*M_PI/30)*(r-18),y-sin((15-i)*M_PI/30)*(r-18),x+cos((15-i)*M_PI/30)*(r-23),y-sin((15-i)*M_PI/30)*(r-23));
    else
    setcolor(GREEN),line(x+cos((15-i)*M_PI/30)*(r-18),y-sin((15-i)*M_PI/30)*(r-18),x+cos((15-i)*M_PI/30)*(r-20),y-sin((15-i)*M_PI/30)*(r-20));
    };
    setfillstyle(1,GREEN);
    pieslice(x,y,0,360,5);
    int color=0;
    while(!kbhit())
    {
    draw(x,y,r,color);
    };
    closegraph();
    }[/codebox]


    ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО!!!!
     
  2. biz

    biz Гость

    ты где такой раритет откопал?
    сейчас по средствам graphics.h никто ничего не делает....
    не проще ли передти на Windows!!?
     
  3. AlexanderNo

    AlexanderNo Гость

    =) Это не я откопал.... это у нас в Российских ВУЗах на факультетах автоматики заставляют таким д... заниматься!
     
Загрузка...
Похожие Темы - Объясните принцип работы
  1. smailvolf
    Ответов:
    1
    Просмотров:
    784
  2. unbarh
    Ответов:
    0
    Просмотров:
    1.298
  3. ball
    Ответов:
    0
    Просмотров:
    1.373
  4. toxli
    Ответов:
    1
    Просмотров:
    1.641
  5. kalachal
    Ответов:
    2
    Просмотров:
    1.598
Статус темы:
Закрыта.

Поделиться этой страницей