Skip to main content

Graphics Editor

#include
#include
#include
void main()
{
int gm,gd=DETECT;
int ch,draw,paint,text;//choices
int x1,y1,x2,y2,r,sa,ea,xr,yr,poly[10],v,i,midx,midy,res[10],year[10];
char str[10];
initgraph(&gd,&gm,"c:\\tc\\bgi");

while(1)
{
x: cleardevice();
printf("\nGraphics Editor");
printf("\n1.DRAW\n2.TEXT\n3.PAINT\n4.EXIT\nEnter choice:");
scanf("%d",&ch);
switch(ch)
{
case 1:
while(1)
{
cleardevice();
printf("\nDrawing Different Polygons");
printf("\n1.Pixel\n2.Line\n3.Circle\n4.Ellipse\n5.Polygon");
printf("\n6.Line Styles\n7.Bar Graphs\n8.Pai Charts\n9.Histogram\n0.Main Menu\nEnter Choice: ");
scanf("%d",&draw);
switch(draw)
{
case 1://pixel
printf("\nenter x1,y1: ");
scanf("%d%d",&x1,&y1);
putpixel(x1,y1,15);
getch();
break;

case 2://line
printf("\nenter (x1,y1) and (x2,y2): ");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
line(x1,y1,x2,y2);
getch();
break;
case 3://circle
// setaspectratio(10000,8000);
printf("\nEnter (x1,y1) and Radius: ");
scanf("%d%d%d",&x1,&y1,&r);
circle(x1,y1,r);
getch();
break;
case 4:
printf("\nEnter (x1,y1),SA,EA,XR,YR:");
scanf("%d%d%d%d%d%d",&x1,&y1,&sa,&ea,&xr,&yr);
putpixel(x1,y1,15);
ellipse(x1,y1,sa,ea,xr,yr);
getch();
break;
case 5: //poly
printf("\nHow many vertices: ");
scanf("%d",&v);
printf("Enter vertices (x,y): ");
for(i=0;i scanf("%d",&poly[i]);

poly[i]=poly[0];
poly[i+1]=poly[1];

drawpoly(v+1,poly);

getch();
setfillstyle(1,GREEN);
floodfill(poly[0]+60,poly[1]+10,15);
// fillpoly(v+1,poly);
getch();

break;
case 6:

printf("\nenter (x1,y1) and (x2,y2): ");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
for (i=0; i<=4; i++)
{
setlinestyle(i, 1, 1);
line(x1, y1,x2,y2);
getch();
cleardevice();
}
break;


case 7:
midx=getmaxx()/2;
midy=getmaxy()/2;
line(150,midx,500,midy); //hor
line(200,10,200,midy+50); //ver
//bar
x1=250;

printf("\nEnter Year and Result for 4 years: ");
for(i=0;i<4;i++)//accept year and result
{
printf("Year: ");
scanf("%d",&year[i]);
printf("Result: ");
scanf("%d",&res[i]);

itoa(res[i],str,10);
outtextxy(170,(midy-res[i]),str);
settextstyle(0,1,1);
outtextxy(150,midy-50,"RESULT");
settextstyle(0,0,1);
line(195,midy-res[i],205,midy-res[i]);

setfillstyle(1,i+1);
bar(x1,midy-res[i],x1+50,midy);

itoa(year[i],str,10);
outtextxy(x1,midy+10,str);
outtextxy(300,midy+20,"ACADEMIC YEAR");
x1=x1+70;
}
getch();
break;
case 8: //pai chart
printf("\nEnter (x1,y1),SA,EA,Radius: ");
scanf("%d%d%d%d%d",&x1,&y1,&sa,&ea,&r);
setfillstyle(1,x2);
pieslice(x1,y1,sa,ea,r);

getch();
break;

case 0:goto x;
}//end switch
}//end while
case 2: //TEXT
while(1)
{
printf("\n1.Input Text\n2.color\n3.color pallete\n4.text style\n5.justification\n0.Main menu\nChoice: ");
scanf("%d",&text);
switch(text)
{
case 1:
printf("\nEnter text: ");
flushall();
gets(str);
break;
case 2:
for(i=0;i<15;i++)
{
setcolor(i);
outtextxy(200,100,str);
getch();
}
break;
case 3:
setcolor(RED);
outtextxy(200,100,str);
setcolor(BLUE);
outtextxy(200,150,str);
setcolor(RED);
outtextxy(200,200,str);

setcolor(RED);
outtextxy(200,220,"PALETTE EFFECT");
getch();
setpalette(RED,YELLOW);
getch();
break;
case 4:
settextstyle(0,0,1);
outtextxy(200,200,str);
getch();

settextstyle(0,1,1);
outtextxy(200,200,str);
getch();

settextstyle(1,0,1);
outtextxy(200,200,str);
getch();
case 5://justification

outtextxy(200,200,str);
getch();
settextjustify(2,0);
outtextxy(200,200,str);
getch();
break;
case 0:
goto x;
}
}
case 3://PAINT
circle(200,200,100);
getch();

floodfill(200,200,2);
getch();
break;
case 4:exit(0);
}
} //while
}

Comments

Popular posts from this blog

Selenium + Python + UnexpectedAlertPresentException: Dealing with annoying alerts

Handling  UnexpectedAlertPresentException   Alerts who hates them? I Do!  Who doesn't hate an annoying alert causing your tests / scraping job to fail? I must say they are pretty much on point on the Unexpected part!  Fortunately, there are easy ways to mitigate the issue. 1. Disable alerts completely: driver . execute_script( 'window.alert = function(){};' ); execute this script just before where you anticipate the alert and you're golden. 2. You want to see the alert text but not disturb the execution flow. driver . execute_script( 'window.alert = console.info;' ); Now the alerts have been redirected to the console and you don't have to worry about them. (Unless you have to - then you'd have to monitor the console) 3. You know exactly when it comes and want to accept the alert and move on. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from selenium import webdriver from selenium.webdriver.s

Python Program for Soundex Algorithm

This is a python implementation for Soundex Algorithm. This Program builds a JSON document as a dictionary and is kept on building at every execution. Its constantly appended and referenced while the program  is executed. Program: from re import sub def remove_symbols (input_string): #Convert the characters to lower case and then use #Regular expressions to remove non a-z chars return sub( '[^A-Z]+' , '' , input_string) def clean (input_string): #Convert the characters to lower case and then use #Regular expressions to remove non a-z chars return sub( '[^a-z]+' , '' , input_string . lower()) word = "Input" def soundex (word): #Step 1: Capitalize all letters in the word and drop all punctuation marks. word = remove_symbols(word . upper()) #Step 2: Retain the first letter of the word. first_letter = word[ 0 ] word = word[ 1 :] #Step 3 & 4: Change ( 'A&#

How to convert a Helium Wallet Address to Solana Wallet address?

Helium went to Solana Blockchain, on April 18, 2023. Helium addresses are not available on the Solana blockchain as addresses on the Solana blockchain are base-58 encoded. Here is a quick snippet on how to translate an existing Helium wallet address to a Solana wallet address using Python. You will need the base58 module for this, get it here: pip install base58 Code Chunk: def convert_hnt_wallet_addr_to_sol ( helium_wallet_address ) : return base58. b58encode ( base58. b58decode ( hnt_wallet_address ) [ 2 :- 4 ] ) . decode ( ) Using this convert your Helium wallet address to a Solana address! You can further explore our blog for interesting reads  OR   - you can contact us to learn a bit more over a FREE personal Skype coaching session. Just click on "Leave a message" and reach out to us. We get a lot of volume these days so FREE Sessions won't be here for a long time, Grab this opportunity while you can!