![]() | |
![]() |
| | Seçenekler |
| | #1 |
| Anaokulu | Analog Saat V1.0 - Clock (C++'da Kod Örneği) Bilgisayar ortaminda analog saatin nasil yapildigini merak eden arkadaslara ornek olabilecek kucuk ve basit bir uygulama. /************************************************** **** TURBO C++ 3.0 ************************************************** *****/ #include <stdio.h> #include <conio.h> #include <graphics.h> #include <dos.h> #include <time.h> #include <math.h> #include <stdlib.h> #include <string.h> const double pi = 3.14159265358979323; struct time zaman; //*********************************************** //Gercek zamanli bekleme yapacak olan procedure void bekle(int sure) { int tutulan,hesaplanan; struct time zaman; gettime(&zaman); tutulan = zaman.ti_sec; do { gettime(&zaman); hesaplanan = zaman.ti_sec; }while(abs(hesaplanan - tutulan)<=sure); } //*********************************************** //Grafik modunu acmak veya kapatmak icin gerekli olan procedure void grafik(char deger) { int gd,gm; if (!deger) { gd = DETECT; initgraph(&gd,&gm,"e:\\tc3\\bgi"); } else closegraph(); } //*********************************************** //Burada ki kodlar tek bir procedure'de toplanabilirdi //fakat kodlarin daha anlasilir olmasi ve konunun ozumsenmesi //acisindan saat,dakika ve saniye kollarini cizecek olan komutlari //ayri ayri procedure'ler de tanimladim. void saniye_ciz(int orjinx, int orjiny,int uzunluk,int renk,int sure) { int x1,y1; double aci; aci = ( ( (45+sure) * pi) / 180) * 6; x1 = int(orjinx + uzunluk * cos(aci)); y1 = int(orjiny + uzunluk * sin(aci)); setcolor(renk); line(orjinx,orjiny,x1,y1); setcolor(renk); circle(x1,y1,3); } void dakika_ciz(int orjinx, int orjiny,int uzunluk,int renk,int sure) { int x1,y1; double aci; aci = ( ( (45+sure) * pi) / 180) * 6; x1 = int(orjinx + uzunluk * cos(aci)); y1 = int(orjiny + uzunluk * sin(aci)); setcolor(renk); line(orjinx,orjiny,x1,y1); } void saat_ciz(int orjinx, int orjiny,int uzunluk,int renk,int sure) { int x1,y1; double aci; //(zaman.ti_min / 15) * 0.1 -> bu matematiksel formul her 15 dakikada //saat cizgisini 1 nokta ilerletir boylelikle gercek duvar saati etkisi //daha net yakalanmis olur. aci = ( ( (45+sure) * pi) / 180) * 30 + (zaman.ti_min / 15) * 0.1; x1 = int(orjinx + uzunluk * cos(aci)); y1 = int(orjiny + uzunluk * sin(aci)); setcolor(renk); line(orjinx,orjiny,x1,y1); } //*********************************************** //Saat kadranini cizmeye yarayan procedure void saat_kadrani(int yaricap,int renk) { const char *mesaj1 = "~DeniZ YaziliM~"; const char *mesaj2 = "Analog Saat V1.0"; const char *mesaj3 = "Coded By : Deniz TURKAN"; const char *mesaj4 = "e-mail : [Üye Özel | Für Mitglieder | For Members]"; int kadx,kady,x,y,i; double aci; randomize(); //Rasgele koordinatlara noktalar yerlestiriliyor for(i=0;i<=1500;i++) { if(i%2==0) putpixel(random(getmaxx()),random(getmaxy()),15); else putpixel(random(getmaxx()),random(getmaxy()),8); } //Ekranin orta noktasi bulunuyor (orjin tespiti) x = getmaxx() / 2; y = getmaxy() / 2; //saat kadraninin yuzu setcolor(4); setfillstyle(1,renk); circle(x,y,yaricap); floodfill(x,y,4); //kadranin ortasinda ki kucuk daire setcolor(4); setfillstyle(1,1); circle(x,y,int(yaricap/10)); floodfill(x,y,4); //kadranin ortasinda yer alan reklam mesaji setcolor(7); outtextxy(x-int(strlen(mesaj1)*8.18)/2,y-int(yaricap/2),mesaj1); //Her bes dakikalik dilimler belirleniyor i = 0; do { i += 1; aci = ( ( (45+i) * pi) / 180) * 6; kadx = (x + (yaricap + 10) * cos(aci)); kady = (y + (yaricap + 10) * sin(aci)); if (i%5==0) { setcolor(4); circle(kadx,kady,4); putpixel(kadx,kady,15); } else { setcolor(2); circle(kadx,kady,3); } setcolor(4); circle(kadx,kady,2); putpixel(kadx,kady,15); }while(i<=60); //mesajlar ekrana yazdiriliyor setfillstyle(1,0); bar(1,getmaxy() - 30,int(strlen(mesaj4)*8.19),getmaxy()); outtextxy(10,getmaxy() - 30,mesaj2); outtextxy(10,getmaxy() - 20,mesaj3); outtextxy(10,getmaxy() - 10,mesaj4); } //*********************************************** int main() { //grafik modu'na geciliyor grafik(0); saat_kadrani(130,0); setwritemode(XOR_PUT); setlinestyle(0,3,3); while(!kbhit()) { //sistemin zaman bilgisi aliniyor gettime(&zaman); //sekiller ciziliyor saniye_ciz(getmaxx()/2,getmaxy()/2 ,120,8,zaman.ti_sec); dakika_ciz(getmaxx()/2,getmaxy()/2 ,120,9,zaman.ti_min); saat_ciz(getmaxx()/2,getmaxy()/2 ,80 ,9,zaman.ti_hour); bekle(0.1); //delay(25); //cizilen sekiller siliniyor saniye_ciz(getmaxx()/2,getmaxy()/2 ,120,8,zaman.ti_sec); dakika_ciz(getmaxx()/2,getmaxy()/2 ,120,9,zaman.ti_min); saat_ciz(getmaxx()/2,getmaxy()/2 ,80 ,9,zaman.ti_hour); } //grafik modundan cikiliyor grafik(-1); return 0; } (alıntı) |
| | #2 |
| Ilkokul 8. Sinif | Bişey anladımsa arap olayım kardeşim tşk ler yinede |
| | #3 |
| Ilkokul 2. Sinif | SAG ol! Fiji |
| |
#4 |
| Üniversite 4. Sinif | |
| | #5 |
| Ilkokul 5. Sinif | elleriniz dert görmesin.............. |
| | #6 |
| Lise 1. Sinif | Teşekkürler. Emeğine Sağlık. Güzel Bir çalışma |
| | #7 |
| Ilkokul 8. Sinif | çok teşekkür ederim |
| | #8 |
| Silver Members | Sağol Kardeş C++ Da Derleyelim Bakalım |
| | #9 |
| Ilkokul 6. Sinif | teşkkrlerrr sağolll |
| | #10 |
| Banned | php olsa bişeyler anlardımda bundan bi b*k anlamıyorum |
| | #11 |
| Lise 2. Sinif | teşekkürler |
| | #12 |
| Üniversite 4. Sinif | vallaha ben bir sey anlamadim |
| | #13 |
| Ilkokul 1. Sinif | bunu anlamak1senemizi alır anca daha detaylı bir anlatım şekli yokmuydu yine emeğine sağlık anlamasamda:d |
| | #14 |
| Lise 2. Sinif | saol kardeş eline sağlık |
![]() |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu Başlatan | Forum | Cvp | Son Mesaj |
| CV Örneği | burak25 | Silinen Konular ve Mesajlar | 1 | 07.02.2009 22:32 |
| Sharp World Clock 4.35 | tHeBruTaLiTyOfHeLL | Sistem Programları | 2 | 30.01.2009 18:07 |
| Premium Clock v2.34 | 4.30 MB | Déjà Vu | Ses ve Görüntü Programları | 2 | 29.09.2008 21:52 |
| Weather Alarm Clock v3.5 - Saat,Tarih,Hava Durumunu Bir Bakışta Görmenizi Sağlar.. | ksklife | Sistem Programları | 7 | 17.09.2008 14:55 |
| 1 Saat ölü Kalan Adam 1 Saat Sonra Dirildi... | gantepli27 | Haber Arsivleri | 2 | 20.01.2008 19:04 |