home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / qc / qc25 / bar.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-15  |  1.6 KB  |  64 lines

  1. /* BAR.C:  Create sample bar chart. */
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <graph.h>
  5. #include <pgchart.h>
  6. #define MONTHS 12
  7. typedef enum {FALSE, TRUE} boolean;
  8. float far value[MONTHS] = 
  9.    33.0, 27.0, 42.0, 64.0,106.0,157.0,
  10.   182.0,217.0,128.0, 62.0, 43.0, 36.0
  11. };
  12. char far *category[MONTHS] =
  13. {
  14.   "Jan", "Feb", "Mar", "Apr",
  15.   "May", "Jun", "Jly", "Aug",
  16.   "Sep", "Oct", "Nov", "Dec"
  17. };
  18.  
  19. main()
  20. {
  21.   chartenv env;
  22.   int mode = _VRES16COLOR;
  23.   /* Set highest video mode available */
  24.   while(!_setvideomode( mode ))
  25.      mode--;
  26.   if(mode == _TEXTMONO)
  27.      return(0);
  28.  
  29.   /* Initialize chart library and a default bar chart */     
  30.   _pg_initchart();
  31.  
  32.   _pg_defaultchart( &env, _PG_BARCHART, _PG_PLAINBARS 
  33. );
  34.   /* Add titles and some chart options */
  35.   strcpy( env.maintitle.title, "Good Neighbor Grocery" );
  36.   env.maintitle.titlecolor = 6;
  37.   env.maintitle.justify = _PG_RIGHT;
  38.   strcpy( env.subtitle.title, "Orange Juice Sales" );
  39.   env.subtitle.titlecolor = 6;
  40.   env.subtitle.justify = _PG_RIGHT;
  41.   strcpy( env.yaxis.axistitle.title, "Months" );
  42.   strcpy( env.xaxis.axistitle.title, "Quantity (cases)" );
  43.   env.chartwindow.border = FALSE;
  44.  
  45.   /* Parameters for call to _pg_chart are:
  46.    *    env        - Environment variable
  47.    *    category   - Category labels
  48.    *    value      - Data to chart
  49.    *    MONTHS     - Number of data values */
  50.  
  51.   if(_pg_chart( &env, category, value, MONTHS ))
  52.   {
  53.      _setvideomode( _DEFAULTMODE );
  54.      _outtext( "Error:  can't draw chart" );
  55.   }
  56.   else
  57.   {
  58.       getch(); 
  59.       _setvideomode( _DEFAULTMODE );
  60.    }
  61.    return(0);
  62. }
  63.