Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
424
Tıklama
0
Öne Çıkarma
c programllama bilen varsa lütfen yardım etsin
A
18 yıl
Onbaşı
Konu Sahibi

hocamız bi ödev verdi ama yapamıyroum bende sizlerden yardım alayım dedim bana yardım ederseniz sizlere çok minnettar kalıcam

ödevim: ekrana kare dikdörtgen daire ve üçgen çizdircez bunu c++ dilini kullanrak yapcaz ama bi türlü yapamadım

lütfen bana yardım edin

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
18 yıl
Yarbay

11. Grafik

Basit grafik işlemleri nasıl gerçekleştirilir (sorumlu değiller).
Normal çalışma anında text ekranda (25, 80) boyutlarında.
* void textbackground(int newcolor); : alt zemin rengi
* void textcolor(int newcolor); : yazı rengi
* void textattr(int newattr); 8 bitlik sayı. hem alt zemin hem de yazı rengi
verilir Bbbbffff (B = blink)

* void highvideo(void); Yazı parlaklığı
* void lowvideo(void);
* void normvideo(void);

Bu işlevler doğrudan ekrana yazan deyimlere yöneliktir (cprintf, cput)
#include <conio.h>
main()
{
int i;
textbackground(BLACK);

clrscr();

for (i=0; i<=15;i++) {
textcolor(i);
cputs("HÜSEYİN PEKTAŞ\r\n");
}

getch();
}

Grafik çizimi için bilgisayarın grafik modunda olması gerekir.

/*
* void far initgraph(int far *graphdriver, int far *graphmode, char far *pathtodriver);
Grafik sistemini verilen degerlere gore ayarlar. Grafik komutlarini kullanmadan once calistirilmalidir.

* closegraph; Grafik sistemini kapatir.
* graphresult: int; Grafik islemi ile ilgili bilgi verir.
* char *far grapherrormsg(int errorcode); Belirtilen grafik hatasi icin mesaji verir.


* line(x1, y1, x2, y2);
* lineto(x, y); Bulunulan yerden (x,y) ye kadar çizer
* linerel(x, y); Bulunulan yerin (x,y) ötesine kadar çizer
* moveto(x, y);

* void far cleardevice(void); Grafik ekranını siler

* circle(x, y , r);

* putpixel(x, y, renk);
* getpixel(x, y); Belirtilen noktanin piksel degerini verir

* getx; Bulunulan
* gety; noktalar

* getmaxx; Maksimum olabilecek
* getmaxy; noktalar
* outtext(char far *) : Bulunulan yere metni yazar
* outtextxy(x, y, char far *) : Belirtilen yere metni yazar

* int far getcolor(void); : çizim rengi öğren
* void far setcolor(int color); : çizim rengini değiştir

* int far getbkcolor(void); : alt zemin rengini öğren
• void far setbkcolor(int color);: alt zemin rengini değiştir
EGA_BLACK
EGA_BLUE
EGA_GREEN
EGA_CYAN
EGA_RED
EGA_MAGENTA
EGA_LIGHTGRAY
EGA_BROWN 0
1
2
3
4
5
7
20 EGA_DARKGRAY
EGA_LIGHTBLUE
EGA_LIGHTGREEN
EGA_LIGHTCYAN
EGA_LIGHTRED
EGA_LIGHTMAGENTA
EGA_YELLOW
EGA_WHITE
56
57
58
59
60
61
62
63
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
main()
{
int gd, gm, hata;
int x, y;

gd = DETECT; /* ekran sürücüsünü otomatik tanı */
/* CGA, HERC, VGA..*/

initgraph(&gd, &gm, "c:\\diller\\tc3\\bgi\\");
/* gd gm
VGA ¦ VGALO ¦ 0 ¦ 640 x 200 ¦ 16 color¦ 2
9 ¦ VGAMED ¦ 1 ¦ 640 x 350 ¦ 16 color¦ 2
¦ VGAHI ¦ 2 ¦ 640 x 480 ¦ 16 color¦ 1
*/
hata = graphresult();

if (hata != grOk) /* grOk = 0 tanımlı */
{
printf("Grafik hatası: %s\n", grapherrormsg(hata));
getch();
exit(1);
}
x = getmaxx();
y = getmaxy();
setbkcolor(EGA_RED);
setcolor(EGA_YELLOW);
cleardevice();

line(0, 0, 0, y);
line(0, y, x, y);
line(x, y, x, 0);
line(x, 0, 0, 0);

getch();

cleardevice();

moveto(50, 50);
lineto(50, 100);
lineto(100,100);
lineto(100,50);
lineto(50, 50);

getch();

closegraph();
}

Örnek 11.1: İşlev çizimi
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

double fonk(double x);
double fonk1(double x);

main()
{
int gd, gm, hata;
double x, y;
int orgx, orgy;

gd = DETECT;
initgraph(&gd, &gm, "c:\\diller\\tc3\\bgi\\");
hata = graphresult();
if (hata != grOk)
{
printf("Grafik hatası: %s\n", grapherrormsg(hata));
getch();
exit(1);
}

orgx = 20;
orgy = getmaxy() / 2;

line(0, orgy, getmaxx(), orgy); /* x ekseni */
line(20, 0, 20, orgy+50); /* y ekseni */

outtextxy(getmaxx()-50, orgy-10, "Zaman");
outtextxy(22, 0, "Volt");

for (x = 0; x< 6.28; x = x + 0.005) {
y = fonk1(x);
putpixel(orgx + 80*x, orgy - y, 2); /* renk yeşil EGA_GREEN*/
/* - çünkü eksenin üzerinde çizsin */

}

getch();

closegraph();
}

double fonk(double x)
{
double y;
y = 100 * sin(10 * x);
return y;
}
double fonk1(double x)
{
double y;
y = 1 - exp(-x);
return 200*y;
}







azcık uğraşabilirsin.Bunlar dediklerini yapmak için fazlasıyla yeterli.
Uğraşmadan programcılık öğrenilmez...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.