www.pudn.com > CG2Programs.rar > lineChartStyles.c
/* lineChartStyles, Chapter 4, p. 145 */ /* EXAMPLE STARTS HERE */ #include#include "graphics.h" #define MARGIN_WIDTH 0.05 * WINDOW_WIDTH int readData (char * inFile, float * data) { int fileError = FALSE; FILE * fp; int month; if ((fp = fopen (inFile, "r")) == NULL) fileError = TRUE; else { for (month=0; month<12; month++) fscanf (fp, "%f", &data[month]); fclose (fp); } return (fileError); } void chartData (float * data, pLineType lineType) { wcPt2 pts[12]; float monthWidth = (WINDOW_WIDTH - 2 * MARGIN_WIDTH) / 12; int i; for (i=0; i<12; i++) { pts[i].x = MARGIN_WIDTH + i * monthWidth + 0.5 * monthWidth; pts[i].y = data[i]; } pSetLineType (lineType); pPolyline (12, pts); } int main (int argc, char ** argv) { long windowID = openGraphics (*argv, WINDOW_WIDTH, WINDOW_HEIGHT); float data[12]; setBackground (WHITE); setColor (BLUE); readData ("../data/data1960", data); chartData (data, SOLID); readData ("../data/data1970", data); chartData (data, DASHED); readData ("../data/data1980", data); chartData (data, DOTTED); sleep (10); closeGraphics (windowID); } /* EXAMPLE ENDS HERE */