Hoşgeldin, Ziyaretçi |
Sitemizden yararlanabilmek için kayıt olmalısınız.
|
Kimler Çevrimiçi |
Şu anda 39 aktif kullanıcı var. » (0 Üye - 38 Ziyaretçi) Bing
|
Son Yazılanlar |
Мобильные казино
Forum: Çevre Birimleri
Son Yorum: Casino
09-09-2025, 11:23
» Yorum 0
» Okunma 33
|
казино
Forum: Çevre Birimleri
Son Yorum: Casino
09-09-2025, 00:31
» Yorum 0
» Okunma 18
|
казино
Forum: Çevre Birimleri
Son Yorum: Casino
08-09-2025, 17:27
» Yorum 0
» Okunma 17
|
Satılık HP 840 G2
Forum: İkinci El Satılık
Son Yorum: admin
26-07-2025, 10:50
» Yorum 1
» Okunma 114
|
AMD Ryzen 10000 Serisi Ze...
Forum: Kullanıcıların gönderdiği haberler
Son Yorum: admin
08-06-2025, 18:44
» Yorum 1
» Okunma 275
|
Samsung S24FE alınır mı?
Forum: Cep Telefonu
Son Yorum: admin
02-06-2025, 11:28
» Yorum 1
» Okunma 285
|
Google Pixel Cihazlarında...
Forum: Android ve Andorid Uygulamaları
Son Yorum: Aviatorder
26-05-2025, 18:52
» Yorum 1
» Okunma 2,830
|
Apple ios 19 ne zaman çık...
Forum: Donanım Haberleri
Son Yorum: admin
26-05-2025, 16:12
» Yorum 0
» Okunma 133
|
Linux Mint 22.2 Zara
Forum: Kullanıcıların gönderdiği haberler
Son Yorum: tekken29
26-05-2025, 11:50
» Yorum 1
» Okunma 180
|
Amiga Sensible World of S...
Forum: Commodore 64 Amiga Oyunları
Son Yorum: admin
19-05-2025, 00:43
» Yorum 0
» Okunma 226
|
|
|
C++ SAYININ KÜBÜNÜ ALMA |
Yazar: kendo - 29-10-2006, 19:41 - Forum: Programlama
- Yorum Yok
|
 |
Alıntı:#include <stdio.h>
#include <conio.h>
void main(){
int sayi,sayinin_kubu;
printf("bir sayi birin");
scanf("%d",&sayi);
sayinin_kubu=sayi*sayi*sayi;
printf("sayinin kubu=%d",sayinin_kubu);
getch();
ALINTIDIR
|
|
|
C++ Pointer ile asal sayı bulma |
Yazar: kendo - 29-10-2006, 19:35 - Forum: Programlama
- Yorum Yok
|
 |
Alıntı:#include<stdio.h>
#include<iostream.h>
#include<conio.h>
int asalmi(int *a)
{
int i;
char asal='E';
for(i=2; i<*a; i++)
{
if(((*a)%i)==0)
{
asal='H';
break;
}
}
if((*a)<2)return 0;
if(asal=='H')return 0;
if((*a)==2)return 1;
if(asal=='E')return 1;
}
void asal_ara(int *a,int *b)
{
int i;
for(i=(*a); i<=(*b); i++)
{
if(asalmi(&i)==1){cout<<i<<"\t";}
else continue;
}
}
main()
{
int a,b;
cout<<"ALT SINIR:";
cin>>a;
cout<<"UST SINIR:";
cin>>b;
asal_ara(&a,&b);
getch();
}
ALINTIDIR
|
|
|
C++ Kullanıcıya istediği aralıktaki asal |
Yazar: kendo - 29-10-2006, 19:30 - Forum: Programlama
- Yorum Yok
|
 |
Alıntı:#include<iostream.h>
#include<conio.h>
int asalmi(int a)
{
int i;
char asal=''''E'''';
for(i=2; i<a; i++)
{
if((a%i)==0)
{
asal=''''H'''';
break;
}
}
if(asal==''''H'''')return 0;
if(a==2)return 1;
if(asal==''''E'''')return 1;
}
void asal_ara(int a,int b)
{
int i;
for(i=a; i<=b; i++)
{
if(asalmi(i)==1){cout<<i<<"\t";}
else continue;
}
}
main()
{
int a,b;
cout<<"alt sinir:";
cin>>a;
cout<<"ust sinir:";
cin>>b;
asal_ara(a,b);
getch();
}
ALINTIDIR
|
|
|
C++ tan 3d ekran koruyucu |
Yazar: kendo - 29-10-2006, 19:29 - Forum: Programlama
- Yorum Yok
|
 |
Alıntı:#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <stdio.h>
#include <math.h>
HDC hDC=NULL;
HGLRC hRC=NULL;
HWND hWnd=NULL;
HINSTANCE hInstance;
bool keys[256];
bool active=TRUE;
bool fullscreen=TRUE;
GLint base,loop;
GLuint texture[14];
GLUquadricObj *Obiekt1;
GLfloat roll,roll2;
GLfloat step=0.01f;
GLfloat step2=0.3f;
GLfloat rotate, rotateobiekt1,rotateobiekt2;
GLfloat angle,rotsat;
GLfloat RotateWenus;
GLfloat x,y;
GLfloat LightAmbient[]= { 0.05f, 0.05f, 0.05f, 1.0f };
GLfloat LightDiffuse[]= { 0.8f, 0.8f, 0.8f, 1.0f };
GLfloat LightPosition[]= { 10.0f, -10.0f, 10.0f, 1.0f };
GLfloat LightAmbient2[]= { 0.9f, 0.9f, 0.9f, 1.0f };
GLfloat roo;
GLfloat ro;
GLfloat ro2;
GLfloat alpha;
GLfloat alphaplus=0.0003f;
char *text_display[7] =
{
" Ekran koruyucu tansalic@walla.com",
" Hepiniz hos geldiniz...",
" Bu proje benim ilk ekran koruyucu calismamdir",
" umarim begenir dostlarinizada hediye edersiniz",
" SAYGILARIMLA !!!",
" tansalic@walla.com",
""
};
int Tekst = 0;
int TextSync = 0;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void Build_font(void)
{
int i;
float cx;
float cy;
base = glGenLists(256);
glBindTexture(GL_TEXTURE_2D, texture[4]);
for (i=0 ; i<256 ; i++) {
cx = float(i%16)/16.0f;
cy = float(i/16)/16.0f;
glNewList(base+i,GL_COMPILE);
glBegin(GL_QUADS);
glTexCoord2f(cx,1-cy-0.0625f);
glVertex2i(0,0);
glTexCoord2f(cx+0.0625f,1-cy-0.0625f);
glVertex2i(16,0);
glTexCoord2f(cx+0.0625f,1-cy);
glVertex2i(16,16);
glTexCoord2f(cx,1-cy);
glVertex2i(0,16);
glEnd();
glTranslated(10,0,0);
glEndList();
}
}
void KillFont(void)
{
glDeleteLists(base, 256);
}
void glPrint(GLint x, GLint y, char* string, int set)
{
if (set > 1) set = 1;
glBindTexture(GL_TEXTURE_2D, texture[4]);
glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0,640,0,480,-100,100);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glTranslated(x,y,0);
glListBase(base-32+(128*set));
glCallLists(strlen(string),GL_BYTE,string);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glEnable(GL_DEPTH_TEST);
}
void Swiatlo(void)
{
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient2);
glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);
glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_LIGHT2);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
}
AUX_RGBImageRec *LoadBMP(char *Filename)
{
FILE *File=NULL;
if (!Filename)
{
return NULL;
}
File=fopen(Filename,"r");
if (File)
{
fclose(File);
return auxDIBImageLoad(Filename);
}
return NULL;
}
int LoadTextures()
{
int Status = FALSE;
AUX_RGBImageRec *TextureImage[14];
memset(TextureImage, 0, sizeof(void *)*14);
if ( (TextureImage[0]=LoadBMP("kosmos.bmp")) &&
(TextureImage[1]=LoadBMP("belka.bmp")) &&
(TextureImage[2]=LoadBMP("ziemia.bmp"))&&
(TextureImage[3]=LoadBMP("ksiezyc.bmp"))&&
(TextureImage[4]=LoadBMP("fonty.bmp")) &&
(TextureImage[5]=LoadBMP("mars.bmp")) &&
(TextureImage[6]=LoadBMP("wenus.bmp")) &&
(TextureImage[7]=LoadBMP("merkury.bmp")) &&
(TextureImage[8]=LoadBMP("satelitemaska.bmp")) &&
(TextureImage[9]=LoadBMP("satelite.bmp")) &&
(TextureImage[10]=LoadBMP("saturnmaska.bmp")) &&
(TextureImage[11]=LoadBMP("saturn.bmp")) &&
(TextureImage[12]=LoadBMP("space.bmp")) &&
(TextureImage[13]=LoadBMP("sun.bmp")))
{
Status=TRUE;
glGenTextures(14, &texture[0]);
for(loop=0;loop<14;loop++)
{
glBindTexture(GL_TEXTURE_2D, texture[loop]);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3,TextureImage[loop]->sizeX, TextureImage[loop]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[loop]->data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
for(loop=0;loop<14;loop++)
{
if (TextureImage[loop])
{
if (TextureImage[loop]->data)
free(TextureImage[loop]->data);
free(TextureImage[loop]);
}
}
}
return Status;
}
GLvoid ReSizeGLScene(GLsizei width, GLsizei height)
{
if (height==0)
{
height=1;
}
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int InitGL(GLvoid)
{
if(!LoadTextures())
return FALSE;
Swiatlo();
Build_font();
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_SMOOTH);
glEnable(GL_TEXTURE_2D);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
Obiekt1=gluNewQuadric();
gluQuadricTexture(Obiekt1, GLU_TRUE);
gluQuadricDrawStyle(Obiekt1, GLU_FILL);
return TRUE;
}
GLint DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,0,10, 0,0,0, 0,1,0);
glDisable(GL_LIGHTING);
glTranslatef(0,0,-1);
glRotatef(20,-1,0,0);
glRotatef(rotate,0,0,1);
glRotatef(rotate, 0,1,0);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0.0f , roll + 0.0f); glVertex3f(-10.1f, -10.1f, 0.0);
glTexCoord2f(6.0f , roll + 0.0f); glVertex3f(10.1f, -10.1f, 0.0);
glTexCoord2f(6.0f, roll + 6.0f); glVertex3f(10.1f, 10.1f, 0.0);
glTexCoord2f(0.0f, roll + 6.0f); glVertex3f(-10.1f, 10.1f, 0.0);
glEnd();
glEnable(GL_LIGHTING);
glLoadIdentity();
glBindTexture(GL_TEXTURE_2D, texture[5]);
glTranslatef(-2.6f,-1.8f,-5);
glRotatef(90,1,0,0);
glRotatef(rotateobiekt2,0,0,1);
gluSphere(Obiekt1, 0.9, 20,20);
glLoadIdentity();
glTranslatef(4.5,3.5,-10);
glBindTexture(GL_TEXTURE_2D, texture[7]);
glRotatef(rotateobiekt2,1,1,0);
gluSphere(Obiekt1, 0.1,20,20);
glLoadIdentity();
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glEnable(GL_BLEND);
glBindTexture(GL_TEXTURE_2D, texture[1]);
glTranslatef(0,0,-4);
glTranslatef(0,-1.5,0);
glDisable(GL_LIGHT1);
glEnable(GL_LIGHT0);
glBegin(GL_QUADS);
glTexCoord2f(-roll2 +0.0f , 0.0); glVertex3f(-3.1f, -0.2f, 0.0);
glTexCoord2f(-roll2 +1.0f , 0.0); glVertex3f(3.1f, -0.2f, 0.0);
glTexCoord2f(-roll2 +1.0f, 1.0); glVertex3f(3.1f, 0.2f, 0.0);
glTexCoord2f(-roll2 +0.0f, 1.0); glVertex3f(-3.1f, 0.2f, 0.0);
glEnd();
glPrint(100,20,text_display[Tekst],1);
glDisable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glDisable(GL_BLEND);
glBindTexture(GL_TEXTURE_2D, texture[2]);
glTranslatef(0.0f,1.3f, -4.0f);
glRotatef(rotateobiekt1,0,1,0);
glRotatef(-75,1,0,0);
gluSphere(Obiekt1,0.7,20,20);
glTranslatef(1,0,0.5);
glBindTexture(GL_TEXTURE_2D, texture[3]);
glRotatef(rotateobiekt1,1,1,1);
gluSphere(Obiekt1,0.1,20,20);
glLoadIdentity();
glDisable(GL_LIGHTING);
glTranslatef(0.60f, 0.35f,-2.8f);
glRotatef(20,0,0,1);
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_DST_COLOR, GL_ZERO);
glBindTexture(GL_TEXTURE_2D, texture[10]);
glScalef(0.1f,0.1f,0.1f);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glBlendFunc(GL_ONE, GL_ONE);
glBindTexture(GL_TEXTURE_2D, texture[11]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND);
glEnable(GL_LIGHTING);
glLoadIdentity();
glDisable(GL_LIGHTING);
glTranslatef(-0.7f,0.5f,-3.0f);
glRotatef(rotsat,0,0,1);
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_DST_COLOR, GL_ZERO);
glBindTexture(GL_TEXTURE_2D, texture[8]);
glScalef(0.1f,0.1f,0.1f);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glBlendFunc(GL_ONE, GL_ONE);
glBindTexture(GL_TEXTURE_2D, texture[9]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND);
glEnable(GL_LIGHTING);
glLoadIdentity();
glTranslatef(1.8f, 1.0f, -8);
glDisable(GL_LIGHTING);
glEnable(GL_BLEND);
glColor4f(1,1,1, alpha);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glRotatef(ro2,0,0,1);
glBindTexture(GL_TEXTURE_2D, texture[12]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glRotatef(ro,0,0,1);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glDisable(GL_BLEND);
glColor4f(1,1,1,1);
alpha+=alphaplus;
if(alpha>0.5)
alphaplus=-alphaplus;
if(alpha<0.0)
alphaplus=-alphaplus;
ro2+=0.1f;
ro+=0.05f;
glLoadIdentity();
glTranslatef(-0.7f, 0.7f, -1 );
glDisable(GL_LIGHTING);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glColor4f(0.9f, 0.1f, 0.9f, 1);
glBindTexture(GL_TEXTURE_2D, texture[13]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glColor4f(1,1,1,1);
glDisable(GL_BLEND);
glLoadIdentity();
glTranslatef(0.4f, -0.2f, -1);
glScalef(0.2f, 0.2f, 0.2f);
glDisable(GL_LIGHTING);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glColor4f(0.1f, 0.99f, 0.4f, 0.5f);
glBindTexture(GL_TEXTURE_2D, texture[13]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glRotatef(roo,0,0,1);
glBindTexture(GL_TEXTURE_2D, texture[13]);
glBegin(GL_QUADS);
glTexCoord2f(0.0 , 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0 , 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
glColor4f(1,1,1,1);
glDisable(GL_BLEND);
roo+=0.1f;
if(roo>360)
roo=0.0f;
rotsat+=0.1f;
if(rotsat>360)
rotsat=0;
RotateWenus+=0.2f;
if(RotateWenus>360)
RotateWenus=0;
TextSync++;
if (TextSync > 600)
{
TextSync = 0;
Tekst++;
}
if (Tekst > 6)
Tekst = 0;
rotateobiekt1+=step2;
rotateobiekt2+=0.05f;
rotate+=step;
if(rotate>12)
step=-step;
if(rotate<-12)
step=-step;
roll+=0.002f;
if(roll>1.0f)
roll-=1.0f;
roll2+=0.0005f;
if(roll2>1.0f)
roll2-=1.0f;
return TRUE;
}
GLvoid KillGLWindow(GLvoid)
{
gluDeleteQuadric(Obiekt1);
KillFont();
if (fullscreen)
{
ChangeDisplaySettings(NULL,0);
ShowCursor(TRUE);
}
if (hRC)
{
if (!wglMakeCurrent(NULL,NULL))
{
MessageBox(NULL,"Release Of DC And RC Failed.","Kapatma Hatası",MB_OK | MB_ICONINFORMATION);
}
if (!wglDeleteContext(hRC))
{
MessageBox(NULL,"Release Rendering Context Failed.","Kapatma Hatası",MB_OK | MB_ICONINFORMATION);
}
hRC=NULL;
}
if (hDC && !ReleaseDC(hWnd,hDC))
{
MessageBox(NULL,"Release Device Context Failed.","Kapatma Hatası",MB_OK | MB_ICONINFORMATION);
hDC=NULL;
}
if (hWnd && !DestroyWindow(hWnd))
{
MessageBox(NULL,"Could Not Release hWnd.","Kapatma Hatası",MB_OK | MB_ICONINFORMATION);
hWnd=NULL;
}
if (!UnregisterClass("OpenGL",hInstance))
{
MessageBox(NULL,"Could Not Unregister Class.","Kapatma Hatası",MB_OK | MB_ICONINFORMATION);
hInstance=NULL;
}
}
BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag)
{
GLuint PixelFormat;
WNDCLASS wc;
DWORD dwExStyle;
DWORD dwStyle;
RECT WindowRect;
WindowRect.left=(long)0;
WindowRect.right=(long)width;
WindowRect.top=(long)0;
WindowRect.bottom=(long)height;
fullscreen=fullscreenflag;
hInstance = GetModuleHandle(NULL);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wc.lpfnWndProc = (WNDPROC) WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = "OpenGL";
if (!RegisterClass(&wc))
{
MessageBox(NULL,"Failed To Register The Window Class.","Hata",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
if (fullscreen)
{
DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));
dmScreenSettings.dmSize=sizeof(dmScreenSettings);
dmScreenSettings.dmPelsWidth = width;
dmScreenSettings.dmPelsHeight = height;
dmScreenSettings.dmBitsPerPel = bits;
dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;
if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL)
{
if (MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES)
{
fullscreen=FALSE;
}
else
{
MessageBox(NULL,"Program Þimdi Kapatılıyor.","Hata",MB_OK|MB_ICONSTOP);
return FALSE;
}
}
}
if (fullscreen)
{
dwExStyle=WS_EX_APPWINDOW;
dwStyle=WS_POPUP;
ShowCursor(FALSE);
}
else
{
dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
dwStyle=WS_OVERLAPPEDWINDOW;
}
AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle);
if (!(hWnd=CreateWindowEx( dwExStyle,
"OpenGL",
title,
dwStyle |
WS_CLIPSIBLINGS |
WS_CLIPCHILDREN,
0, 0,
WindowRect.right-WindowRect.left,
WindowRect.bottom-WindowRect.top,
NULL,
NULL,
hInstance,
NULL)))
{
KillGLWindow();
MessageBox(NULL,"Pencere Oluşma Hatası.","Hata",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
static PIXELFORMATDESCRIPTOR pfd=
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW |
PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
bits,
0, 0, 0, 0, 0, 0,
0,
0,
0,
0, 0, 0, 0,
16,
0,
0,
PFD_MAIN_PLANE,
0,
0, 0, 0
};
if (!(hDC=GetDC(hWnd)))
{
KillGLWindow();
MessageBox(NULL,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd)))
{
KillGLWindow();
MessageBox(NULL,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
if(!SetPixelFormat(hDC,PixelFormat,&pfd))
{
KillGLWindow();
MessageBox(NULL,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
if (!(hRC=wglCreateContext(hDC)))
{
KillGLWindow();
MessageBox(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
if(!wglMakeCurrent(hDC,hRC))
{
KillGLWindow();
MessageBox(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
ShowWindow(hWnd,SW_SHOW);
SetForegroundWindow(hWnd);
SetFocus(hWnd);
ReSizeGLScene(width, height);
if (!InitGL())
{
KillGLWindow();
MessageBox(NULL,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return FALSE;
}
return TRUE;
}
LRESULT CALLBACK WndProc( HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
switch (uMsg)
{
case WM_ACTIVATE:
{
if (!HIWORD(wParam))
{
active=TRUE;
}
else
{
active=FALSE;
}
return 0;
}
case WM_SYSCOMMAND:
{
switch (wParam)
{
case SC_SCREENSAVE:
case SC_MONITORPOWER:
return 0;
}
break;
}
case WM_CLOSE:
{
PostQuitMessage(0);
return 0;
}
case WM_KEYDOWN:
{
keys[wParam] = TRUE;
return 0;
}
case WM_KEYUP:
{
keys[wParam] = FALSE;
return 0;
}
case WM_SIZE:
{
ReSizeGLScene(LOWORD(lParam),HIWORD(lParam));
return 0;
}
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;
BOOL done=FALSE;
if (MessageBox(NULL,"Tam ekran Modunda Çalışsın mı?", "Tam Ekran Başlat?",MB_YESNO|MB_ICONQUESTION)==IDNO)
{
fullscreen=FALSE;
}
if (!CreateGLWindow("tansalic@walla.com",640,480,16,fullscreen))
{
return 0;
}
while(!done)
{
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if (msg.message==WM_QUIT)
{
done=TRUE;
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
{
if (active)
{
if (keys[VK_ESCAPE])
{
done=TRUE;
}
else
{
DrawGLScene();
SwapBuffers(hDC);
}
}
if (keys[VK_F1])
{
keys[VK_F1]=FALSE;
KillGLWindow();
fullscreen=!fullscreen;
if (!CreateGLWindow("Kaidr@Kadir.com",640,480,16,fullscreen))
{
return 0;
}
}
}
}
KillGLWindow();
return (msg.wParam);
}
ALINTIDIR
|
|
|
C++ de matris leri çarpan program. |
Yazar: kendo - 29-10-2006, 19:16 - Forum: Programlama
- Yorum Yok
|
 |
Alıntı:#include<stdio.h>
#include<conio.h>
int matrisa[3][3]={5,2,7,4,9,6,7,4,1};
int matrisb[3][3]={6,7,4,9,8,2,3,4,9};
int carpmatris[3][3]={0,0,0,0,0,0,0,0,0};
int i,j;
int main(){
clrscr();
for (i=0;i<3;i++){
for (j=0;j<3;j++){
carpmatris[i][j]=matrisa[i][j]*matrisb[i][j];
}
}
for (i=0;i<3;i++){
for (j=0;j<3;j++){
printf("%d ",carpmatris[i][j]);
}
printf("\n\n\n");
}
getch();
}
Alıntıdır
|
|
|
MS-SQL Veritabanı Tabloları Oluşturmak |
Yazar: kendo - 29-10-2006, 14:16 - Forum: Programlama
- Yorum (3)
|
 |
Veritabanı Nesneleri
Veritabanı oluşturduğumuz zaman karşımıza, bir takım veritabanı nesneleri çıkar. Bu veritabanı nesnelerini kullanarak veritabanının kullanımını ve yönetimini gerçekleştiririz.
Bir veritabanı oluşturalım.
![[Resim: veritabaninesneleri_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/veritabaninesneleri_oznur.jpg)
1.Þekil : Veritabanı nesneleri
Veritabanı nesneleri aşağıdaki gibidir:
1. Tablolar
2. Diyagramlar
3. Görünümler
4. Saklı yordamlar
5. Kullanıcılar
6. Roller
7. Kurallar
8. Varsayılan Değerler
9. Kullanıcı Tanımlı Veri Türleri
10. Kullanıcı Tanımlı Fonksiyonlar
Bu nesneleri sırayla inceleyelim:
1.Tablolar
Tablolarda, oluşturulan veritabanı içindeki bilgiler tutulur.
Enterprise Manager'ın sağ tarafına dikkat ederseniz, önceden oluşturulmuş tablolar göreceksiniz. Bu tablolar hakkında "Veritabanı Tasarlamak" makalesinde detaylı bilgi bulabilirsiniz.
Veritabanı içinde iki tane tablo oluşturalım. Tablo oluşturmak için, veritabanı nesnelerinden olan Tables üzerinde sağ tıklayarak New Tables seçeneğini seçeriz.
![[Resim: tablo_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/tablo_oznur.jpg)
2.Þekil : Tablo Oluşturma
Tablo tasarlarken kolon isimlerini vererek kolonlar oluştururuz. Oluşturduğumuz kolonun, kullanım amacına göre tipini belirleriz. Yine kullanım hedefimize yönelik, boş olup olmamasına izin verme durumunu tablo tasarımında belirleriz.
Birinci tablomuzda kişinin adını ve soyadını tutan char tipinde alanlar olsun. Bunun yanında herbir kişiyi temsil edecek, o kişiye ait özel bir sayı olan KisiId'si int tipinde belirleyelim. Allow Nulls seçeneğinin işaretini kaldırarak bu alanın boş bırakılmasını engelleyebiliriz.
![[Resim: kolon_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/kolon_oznur.jpg)
3.Þekil : Kolonları oluşturma.
Yukarıdaki menüden anahtar simgesine tıklayarak, ( )
sadece kayıt edilen kişiye özgü olacak olan KisiId kolonunu anahtar alan (primary key) olarak atayalım. Tablonun ismini Kisi olarak belirleyerek kayıt edelim( ).
İkinci tablomuzda kişiye ait adres ve telefon bilgileri tutalım. Bunun yanında girilen adres ve telefon bilgilerinini hangi kişiye ait olduğunu tespit etmek için KisiId isimli bir kolon belirleyelim. Bir tablodaki anahtar alan başka bir tabloda kullanıldığı zaman yabancıl anahtar (foreing key) ismini almaktadır. Bu sayede aynı bilgiyi birden fazla tabloda tutmamış oluruz. Tablomuzun ismini Irtibat olarak vererek kayıt edelim.
Böylece kişi bilgilerini tutabileceğimiz Kisi ve kişiye ait adres bilgilerini tutabileceğimiz Irtibat tablolarını oluşturmuş olduk.
![[Resim: tablo_dizayn_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/tablo_dizayn_oznur.jpg)
4.Þekil : Tablo üzerinde işlemler
Tablo üzerine gelerek sağ tuşa basıp, Return All Rows dediğimizde tabloya veri girmemiz için veya olan verileri görmemiz için bir ekran açılacaktır. Buradan verileri kontrol edebiliriz. (Return Top seçeneğinde bize tablodaki verilerden ilk kaçını listeleteceğimizi sorduktan sonra, belirlediğimiz değere göre tablodaki verileri listeler.)
Design Table diyerek, tablo tasarımında istediğimiz düzeltme, silme ve ya ekleme işlemlerini gerçekleştirebiliriz.
2.Diyagramlar:
Diyagramlar aracılığı ile, veritabanındaki tabloları, tablolardaki kolonları ve tablolar arasındaki ilişkileri görüp, yönetebiliriz. Bunun yanında tablolardaki dizinleri ve kısıtlamaları da görebiliriz.
Diyagramlar kullanarak, ilişkiler oluşturulabiliriz.
Yukarıda oluşturduğumuz tablolar arasında ilişki kuralım.
![[Resim: iliski_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/iliski_oznur.jpg)
5.Þekil : İlişki Oluşturma
Diagrams üzerinde sağ tıklayıp New Database Diagram diyerek yeni bir diyagram oluşturuyoruz. Açılan diyagram sihirbazında, sol tarafta kullanabileceğimiz tabloları sıralarken, sağ tarafta diyagrama eklenecek tabloları sıralar.
![[Resim: iliskiye_tablo_ekleme_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/iliskiye_tablo_ekleme_oznur.jpg)
6.Þekil : Kullanılacak tabloların diyagrama eklenmesi.
Buradan kullanacağımız tabloları seçip Add komut düğmesine tıklayarak, tabloları diyagrama ekliyoruz.
Tablolar arasındaki ilişkiyi, sürükle bırak mantığıyla da yapabiliriz.
7.Þekil : Kolonlar arasındaki ilişkiyi belirleme
Irtibat tablosundaki KisiId kolonunun tutarak, Kisi tablosundaki KisiId alanının üzerine bıraktığımızda, oluşturacağımız ilişkiye ait özellikleri belirleyebileceğimizi bir form açılır.
![[Resim: iliski_ozellik_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/iliski_ozellik_oznur.jpg)
8.Þekil : İlişkinin özelliklerini belirleme
Buradan ilişkinin ismini verebilir, veya aralarında ilişki kuracağımız tablolardaki, ilişkili olacak olan kolonları değiştirebiliriz. Cascade Update Related Fields, ve Cascade Delete Related Records seçenekleri sayesinde, bir tabloda meydana gelen güncelleme veya silme işlemlerinin ilişkili olduğu diğer tablolada da güncellenmesini veya silinmesini sağlayabiliriz. Bu sayede, mesela kaydı silinen bir kişinin, irtibat bilgileri veritabanında boşuna tutulmamış ve yer kaplamamış olur.
(Not : Aralarında ilişki kurulacak tablolardaki, birbiriyle ilişkilendireceğimiz kolonların isimleri aynı olmak zorunda değildir.)
3.Görünümler
Görünümleri, bir tablodan ya da arasında ilişki olan birden fazla tablodan, istediğimiz bakış açısıyla veri elde etmek için kullanırız. Görünümler fiziksel değil, sadece sanal tablolardır. Görünümler üzerinden verilere ulaşarak, onların üzerinde istediğimiz işlemleri gerçekleştirebiliriz.
![[Resim: gorunum_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/gorunum_oznur.jpg)
9.Þekil : Görünüm Oluşturma
Örnek olarak adresi İstanbul olan kişileri içeren bir görünüm oluşturarak, onları İstanbul'da düzenlenecek fuara davet edebiliriz.
Views nesnesini tıkladığımızda, Enterprise Manager'ın sağ tarafında standart olarak oluşturulmuş görünümleri görürüz. Bunlar, sistemle alakalı olan görünümlerdir.
4.Saklı Yordamlar
Saklı yordamlar bir yada daha fazla sayıda SQL deyimi içeren ifadelerdir. Veritabanında veritabanı kullanıcıları hakkında bilgi edinirken, veya belli bir görevi yerine getirirken kullanılırlar. SQL Server üzerinde derlenerek yine SQL Server üzerinde tutulurlar.
Veritabanını ilk oluşturduğumuzda dikkatimizi varolan saklı yordamlar çeker. Bunlar, sistem tablolarından, kullanıcılardan bilgi edinmek için kullanılan yönetim amaçlı saklı yordamlardır.
![[Resim: sakliyordamlar_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/sakliyordamlar_oznur.jpg)
10.Þekil : Enterprise Manager'dan saklı yordam oluşturma
Veritabanı nesnelerinden Stored Procedures üzerinde sağ tıklayarak New Stored Procedure diyerek istediğimiz işlemleri gerçekleştirecek bir saklı yordam oluşturabiliriz.
5. Kullanıcılar
Veritabanını kullanmak için tanımlanan isimlerdir. Kullanıcıların veritabanı üzerinde belirli izinlerle işlem yapması için onlara belirli izinler atanır.
Users üzerinde sağ tıklayıp New Database User seçeneğini seçerek yeni kullanıcı oluştururuz. Users nesnesini seçerek, sağ taraftaki alandan, kullanıcılar üzerinde sağ tıklayarak, kullanıcıların özelliklerini değiştirme veya kullanıcı silme gibi işlemleri gerçekleştirebiliriz.
![[Resim: kullanicilar_oznur.jpg]](http://www.ceturk.com/RESIMLER/sqlserver/ok/kullanicilar_oznur.jpg)
11.Þekil : Kullanıcılar
Veritabanı oluşturduğumuzda, varolan kullanıcı olarak dbo'yu görürüz. Kullanıcı kendi veritabanında, veritabanı sahibi (database owner -dbo) olarak bilinir. Sadece bir tek veritabanı sahibi vardır. dbo kullanıcısı, veritabanı içinde bütün ayrıcalıklara sahiptir ve bu kullanıcı kaldırılamaz.
6. Roller
Veritabanı rollerini, belirli izinleri birçok kullanıcı üzerinde uygulamak için kullanırız. Bu sayede, belirlediğimiz kullanıcı kesiminin sahip oldukları izinleri üzerinde ekleme, kaldırma, değiştirme gibi istediğimiz değişiklikleri yapabiliriz.
SQL Server, belli izinlere sahip, hazır tanımlanmış rollere sahiptir. Bu rolleri bir kullanıcıya vererek, sadece belirlenen izinler çerçevesinde işlem yapmasını sağlayabiliriz.
12.Þekil: Roller
Aynı şekilde, görünümler (views) üzerinde de istediğimiz izinlere sahip roller tanımlayabilir, kullanıcıları bu rollere atayarak, izinlerini belirleyebiliriz.
7. Kurallar
Kurallar, veri girişinde kısıtlamayı sağlamak için kullanılırlar. Kurallar kullanarak, bir kolona girilecek olan verinin şartlarını belirleyebiliriz.
Veritabanı nesnelerinden Rules üzerinde sağ tıklayarak New Rule dedikten sonra bir pencere açılır.
13.Þekil : Enterprise Manager aracılığı ile kural oluşturma
8. Varsayılan Değerler
Varsayılan değerler, veri girişi sırasında kullanıcı kolona herhangi bir veri girmezse, SQL Server tarafından otomatik olarak o kolona veri atanmasını sağlar.
Enterprise Manager içinde, veritabanı nesnesi olan Defaults üzerinde sağ tıklayıp New Default diyerek istediğimiz sabit değeri belirleriz.
14.Þekil : Varsayılan Değer oluşturma.
9. Kullanıcı Tanımlı Veri Türleri
SQL Server içindeki herhangi bir veri türünü baz alarak kullanıcı tarafından belirlenebilecek veri türleri bu kısımdan belirlenir. SQL Server içindeki veri türünü belirttikten sonra kolonun uzunluğunu belirterek işlemimizi gerçekleştiririz.
10. Kullanıcı Tanımlı Fonksiyonlar
Fonksiyonlar; bir yada daha fazla T-SQL cümleciği içeren altprogramlardır. Tekrar kullanılmak için kodun kapsüllenmesini sağlar. SQL Server sayesinde istediğimiz işlemleri yapacak fonksiyonları tanımlayıp, kullanabiliriz.
|
|
|
Bayrak |
Yazar: Dr.Freeman - 29-10-2006, 12:49 - Forum: KONU DISI
- Yorum Yok
|
 |
Arkadaşlar Türkiye'nin ilk bayrağındaki yıldız sağ tarafamı bakıyordu yoksa sol tarafamı? Þimdiki bayraktan bahsetmiyorum...
|
|
|
|