Last active
November 9, 2016 18:51
-
-
Save M2skills/a3558df7e7e10ee8b395b3977e7ddb7c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*program to draw a graph of rainfall acording to % for 5 years*/ | |
#include<stdio.h> | |
#include<conio.h> | |
#include<graphics.h> | |
#include<math.h> | |
void drawline(int,int,int,int,int); | |
void main() | |
{ | |
int gd=0,gm,i; | |
int x,y,data1,data2,data3,data4,data5; | |
int blue=1,red=4,green=2,magneta=5,cyan=3,white=15; | |
initgraph(&gd,&gm,"C:\\TC\\BGI"); | |
x=getmaxx(); //getting max resolution | |
y=getmaxy(); | |
printf("\nENTER THE RAINFALL DATA FOR YEAR 2010 : "); //accepting data from user | |
scanf("%d",&data1); | |
printf("ENTER THE RAINFALL DATA FOR YEAR 2011 : "); | |
scanf("%d",&data2); | |
printf("ENTER THE RAINFALL DATA FOR YEAR 2012 : "); | |
scanf("%d",&data3); | |
printf("ENTER THE RAINFALL DATA FOR YEAR 2013 : "); | |
scanf("%d",&data4); | |
printf("ENTER THE RAINFALL DATA FOR YEAR 2014 : "); | |
scanf("%d",&data5); | |
drawline(0,y/2+200,x,y/2+200,white); //drawing x and y axes | |
drawline(x/2-250,0,x/2-250,y,white); | |
//bar 1 | |
for(i=200;i<=220;i++) | |
{ | |
drawline(x/2-i,y-40,x/2-i,y-40-data1,blue); | |
} | |
//bar 2 | |
for(i=150;i<=170;i++) | |
{ | |
drawline(x/2-i,y-40,x/2-i,y-40-data2,green); | |
} | |
//bar 3 | |
for(i=100;i<=120;i++) | |
{ | |
drawline(x/2-i,y-40,x/2-i,y-40-data3,cyan); | |
} | |
//bar 4 | |
for(i=50;i<=70;i++) | |
{ | |
drawline(x/2-i,y-40,x/2-i,y-40-data4,red); | |
} | |
//bar 5 | |
for(i=0;i<=20;i++) | |
{ | |
drawline(x/2-i,y-40,x/2-i,y-40-data5,magneta); | |
} | |
getch(); | |
} | |
void drawline (int xa,int ya,int xb,int yb,int color) | |
{ | |
int i=0; | |
//int xorigin,yorigin; | |
float x1,y1,dx,dy,length,x,y,xinr,yinr; | |
//xorigin=getmaxx(); | |
//yorigin=getmaxy(); | |
if(abs(xb-xa) > abs(yb-ya)) //step 2 calculate lenght,dx,dy | |
{ | |
length=abs(xb-xa); | |
} | |
else | |
{ | |
length=abs(yb-ya); | |
} | |
dx=(xb-xa)/length; | |
dy=(yb-ya)/length; | |
putpixel(xa,ya,color); //step 3 print first pixel | |
x1=xa; | |
y1=ya; | |
for(i=0;i<length;i++) //step 4 print the next pixels by incrementing | |
{ | |
x1=x1+dx; | |
y1=y1+dy; | |
putpixel(x1+0.5,y1+0.5,color); | |
} | |
return; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment