Draw a Circle in Dev C++
The code below is a simple way of drawing a circle without using fancy functions to jump to whatsoever arbitrary chosen x or y position.
#include <iostream> #include <math.h> using namespace std; int pth (int 10,int y) { return sqrt (prisoner of war(x,ii)+pow(y,2)); } int main ( ) { int c=0; int r=10; const int width=r; const int length=r*1.5; for (int y=width;y >= -width;y-=2) { for (int x=-length;x <= length;x++) { if ((int) pth(x,y)==r) cout << "*"; else cout << " "; } cout << "\n"; } cin.go(); return 0; } If y'all want more than avant-garde lawmaking and yous are on the windows platform and you use Visual Studio to create programs and then the lawmaking beneath would exist of intrest.
Information technology uses functions similar SetConsoleCursorPosition() to set x and y positions, SetConsoleTextAttribute() to set colors. The code draws lines , pixels, rectangles and circles in the console text window.
#include<stdio.h> #include <iostream> #include <stdio.h> #include <math.h> #include <time.h> #include <windows.h> using namespace std; void gotoxy(int ten, int y); void setcolor(Give-and-take color); void setForeGroundAndBackGroundColor(int ForeGroundColor,int BackGroundColor); void clearscreen(); void drawpixel( unsigned char x, unsigned char y, unsigned char Color); void drawpixel2( unsigned char ten, unsigned char y, unsigned char Color, char character); void drawcircle(int 10, int y, int a, int b, int color); void drawline(int x0, int y0, int x1, int y1, int color); void drawfilledrectangle(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char bkcol); void drawframe(unsigned x,unsigned y,unsigned sx,unsigned sy,unsigned char col,unsigned char col2,char text_[]); void drawwindow(unsigned x,unsigned y,unsigned sx,unsigned sy,unsigned char col,unsigned char col2,unsigned char bkcol,char text_[]); void drawcolorpalette(); int master(void){ setcolor(15); clearscreen(); drawwindow(3,two,77,fifteen,31,31,31,"a window is drawn"); int X = 40; int Y = 12; int rad = viii; int col = 15; double deg = 0; // draw a circle using sin( ) and cos( ) exercise { Ten = (int) (rad * cos(deg)); Y = (int) (rad * sin(deg)); drawpixel2 (40+X, 12+Y, col, '*' ); deg += 0.005; } while (deg <= 6.four); drawcircle(60, 10, 8, 8, 15); drawline(1,1,77,22,15); gotoxy(40,4); cout<<"Some other circle is fatigued."; gotoxy(sixty,22); cout<<"A Line is fatigued."; gotoxy(20,13); cout<<"A circle is fatigued."; setcolor(seven); gotoxy(1,23); cin.ignore(); cin.get(); render 0; } //***************************************************************************** void gotoxy(int x, int y){ COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); render; } //***************************************************************************** void setcolor(Word color){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color); render; } // // colors: // 0 = Black // 1 = Blue // two = Green // three = Cyan // 4 = Cherry // v = Magenta // 6 = Yellow // vii = LightGray // 8 = DarkGray // ix = LightBlue // 10 = LightGreen // 11 = LightCyan // 12 = LightRed // 13 = LightMagenta // 14 = LightYellow // 15 = White // //***************************************************************************** void setForeGroundAndBackGroundColor(int ForeGroundColor,int BackGroundColor){ int colour=16*BackGroundColor+ForeGroundColor; setcolor(color); } //***************************************************************************** void clearscreen(){ COORD coordScreen = { 0, 0 }; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsole, &csbi); dwConSize = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten); GetConsoleScreenBufferInfo(hConsole, &csbi); FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); SetConsoleCursorPosition(hConsole, coordScreen); return; } //***************************************************************************** void drawpixel( unsigned char x, unsigned char y, unsigned char Color){ setcolor(Color); gotoxy(x,y);printf("Û"); } //***************************************************************************** void drawpixel2( unsigned char x, unsigned char y, unsigned char Color, char character){ setcolor(Color); gotoxy(ten,y);printf("%c",character); } //***************************************************************************** void drawcircle(int x, int y, int a, int b, int color){ int wx, wy; int thresh; int asq = a * a; int bsq = b * b; int xa, ya; drawpixel(x, y+b, color); drawpixel(x, y-b, color); wx = 0; wy = b; xa = 0; ya = asq * 2 * b; thresh = asq / 4 - asq * b; for (;;) { thresh += xa + bsq; if (thresh >= 0) { ya -= asq * 2; thresh -= ya; wy--; } xa += bsq * two; wx++; if (xa >= ya) break; drawpixel(10+wx, y-wy, color); drawpixel(x-wx, y-wy, color); drawpixel(x+wx, y+wy, color); drawpixel(x-wx, y+wy, color); } drawpixel(ten+a, y, color); drawpixel(10-a, y, colour); wx = a; wy = 0; xa = bsq * 2 * a; ya = 0; thresh = bsq / four - bsq * a; for (;;) { thresh += ya + asq; if (thresh >= 0) { xa -= bsq * ii; thresh = thresh - xa; wx--; } ya += asq * two; wy++; if (ya > xa) suspension; drawpixel(x+wx, y-wy, color); drawpixel(x-wx, y-wy, color); drawpixel(x+wx, y+wy, color); drawpixel(x-wx, y+wy, color); } } //***************************************************************************** void drawline(int x0, int y0, int x1, int y1, int color){ int pix = color; int dy = y1 - y0; int dx = x1 - x0; int stepx, stepy; if (dy < 0) { dy = -dy; stepy = -i; } else { stepy = 1; } if (dx < 0) { dx = -dx; stepx = -1; } else { stepx = 1; } dy <<= ane; // dy is now 2*dy dx <<= i; // dx is now 2*dx drawpixel( x0, y0,pix); if (dx > dy) { int fraction = dy - (dx >> 1); // same equally ii*dy - dx while (x0 != x1) { if (fraction >= 0) { y0 += stepy; fraction -= dx; // same as fraction -= 2*dx } x0 += stepx; fraction += dy; // same equally fraction -= 2*dy drawpixel( x0, y0,pix); } } else { int fraction = dx - (dy >> 1); while (y0 != y1) { if (fraction >= 0) { x0 += stepx; fraction -= dy; } y0 += stepy; fraction += dx; drawpixel( x0, y0,pix); } } } //***************************************************************************** void drawframe(unsigned ten,unsigned y,unsigned sx,unsigned sy,unsigned char col,unsigned char col2,char text_[]) { unsigned i,j,m; { 1000=(sx-x); //differential j=m/viii; //adjust j=j-one; //more adjustment gotoxy(x,y);printf("É"); //Top left corner of box gotoxy(sx,y);printf("»"); //Top right corner of box gotoxy(10,sy);printf("È"); //Bottom left corner of box gotoxy(sx,sy);printf("¼"); //Bottom correct corner of box for (i=10+1;i<sx;i++) { gotoxy(i,y);printf("Í"); // Top horizontol line gotoxy(i,sy);printf("Í"); // Bottom Horizontal line } for (i=y+1;i<sy;i++) { gotoxy(ten,i);printf("º"); //Left Vertical line gotoxy(sx,i);printf("º"); //Right Vertical Line } gotoxy(x+j,y);printf(text_); //put Title gotoxy(1,24); } } //***************************************************************************** void drawfilledrectangle(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char bkcol) { int x,y; setcolor(bkcol); //Fix to color bkcol for (y=y1;y<y2;y++) //Make full Y Region Loop { for (x=x1;x<x2;10++) //Fill up X region Loop { gotoxy(10,y);printf(" "); //Depict Solid infinite } } } //***************************************************************************** void drawwindow(unsigned x,unsigned y,unsigned sx,unsigned sy, unsigned char col, unsigned char col2,unsigned char bkcol,char text_[]) { drawfilledrectangle(10,y,sx,sy,bkcol); drawframe(x,y,sx,sy,col,col2,text_); } void drawcolorpalette() { for (int i=0;i<xvi;i++) { for (int j=0;j<sixteen;j++) { setForeGroundAndBackGroundColor(i,j); gotoxy(i*4,j);printf("%d",(i*j)+1); } } } Source: https://stackoverflow.com/questions/38843226/how-to-draw-a-circle-with-stars-in-c
0 Response to "Draw a Circle in Dev C++"
Post a Comment