Virtual U.org
Get Personal Training on VU Today
    
Top shadow
 
 register/help
User Name:

Password:

Oinfo2.cpp Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

Oinfo2.cpp

Go to the documentation of this file.
00001 //Filename: OINFO2.CPP
00002 //Description : Info class
00003 
00004 #include <ALL.H>
00005 #include <OVGA.H>
00006 #include <OFONT.H>
00007 #include <OSYS.H>
00008 #include <OINFO.H>
00009 #include <OIFACE.H>
00010 #include <OSTR.H>
00011 #include <OMISC.H>
00012 #include <OGRPHYR.H>
00013 #include <OGRPH_PY.H>
00014 #include <OGRPH_PT.H>
00015 #include <OGRPH_PM.H>
00016 #include <OFINANCE.H>
00017 #include <OPSCHOOL.H>
00018 #include <ODEPT.H>
00019 
00020 static GraphPerformanceIndicatorTrimester graph_t[6];
00021 static GraphPerformanceIndicatorMonth graph_m[6];
00022 static GraphPerformanceIndicatorYear graph_y[6];
00023 
00024 #if(GAME_VERSION>=200)
00025 int graph_series_color[2] = { V_BLUE, V_ORANGE };
00026 #else
00027 int graph_series_color[2] = { V_BLUE, V_GREEN };
00028 #endif
00029 
00030 //-------- Begin of function Info::disp_6_graphs() --------//
00031 void Info::disp_6_graphs() {
00032     if(!disp_6_graphs_flag) {
00033         image_interface.put_back(MIN_MAX_X1,MIN_MAX_Y1,"MAX");
00034         return;
00035     }
00036     image_interface.put_back(MIN_MAX_X1,MIN_MAX_Y1,"MIN");
00037     user_interface.brighten(GRAPH1_X1,GRAPH1_Y1,GRAPH1_X2,GRAPH1_Y2);
00038     user_interface.rect(GRAPH1_X1,GRAPH1_Y1,GRAPH1_X2,GRAPH1_Y2,2);
00039     user_interface.bar(GRAPH1_X1+5,GRAPH1_Y1+10,GRAPH1_X1+10,GRAPH1_Y1+15,V_BLUE);
00040     //### begin zb 02/25/99
00041     font_chartsm.put_paragraph(GRAPH1_X1+18,GRAPH1_Y1+5,GRAPH1_X1+150,GRAPH1_Y2,"Surplus or deficit");
00042     //### end zb 02/25/99
00043 
00044     user_interface.brighten(GRAPH2_X1,GRAPH2_Y1,GRAPH2_X2,GRAPH2_Y2);
00045     user_interface.rect(GRAPH2_X1,GRAPH2_Y1,GRAPH2_X2,GRAPH2_Y2,2);
00046     user_interface.bar(GRAPH2_X1+5,GRAPH2_Y1+10,GRAPH2_X1+10,GRAPH2_Y1+15,V_BLUE);
00047     //### begin zb 02/25/99
00048     font_chartsm.put_paragraph(GRAPH2_X1+18,GRAPH2_Y1+5,GRAPH2_X1+150,GRAPH2_Y2,"Projected reserves");
00049     //### end zb 02/25/99
00050 
00051     user_interface.brighten(GRAPH3_X1,GRAPH3_Y1,GRAPH3_X2,GRAPH3_Y2);
00052     user_interface.rect(GRAPH3_X1,GRAPH3_Y1,GRAPH3_X2,GRAPH3_Y2,2);
00053 
00054     //  user_interface.bar(GRAPH3_X1+5,GRAPH3_Y1+10,GRAPH3_X1+10,GRAPH3_Y1+15,V_BLUE);         //## chea 051199 swap position request
00055     //  font_chartsm.put_paragraph(GRAPH3_X1+18,GRAPH3_Y1+5,GRAPH3_X2,GRAPH3_Y2,"Research");   //## chea 051199 swap position request
00056     user_interface.bar(GRAPH3_X1+5,GRAPH3_Y1+10,GRAPH3_X1+10,GRAPH3_Y1+15,V_ORANGE);
00057     font_chartsm.put_paragraph(GRAPH3_X1+18,GRAPH3_Y1+5,GRAPH3_X2,GRAPH3_Y2,"Net tuition");
00058 
00059     //  user_interface.bar(GRAPH3_X1+5,GRAPH3_Y1+27,GRAPH3_X1+10,GRAPH3_Y1+32,V_ORANGE);            //## chea 051199 swap position request
00060     //  font_chartsm.put_paragraph(GRAPH3_X1+18,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y2+18,"Net Tuition"); //## chea 051199 swap position request
00061     user_interface.bar(GRAPH3_X1+5,GRAPH3_Y1+27,GRAPH3_X1+10,GRAPH3_Y1+32,V_BLUE);
00062     font_chartsm.put_paragraph(GRAPH3_X1+18,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y2+18,"Research");
00063 
00064     user_interface.brighten(GRAPH4_X1,GRAPH4_Y1,GRAPH4_X2,GRAPH4_Y2);
00065     user_interface.rect(GRAPH4_X1,GRAPH4_Y1,GRAPH4_X2,GRAPH4_Y2,2);
00066     user_interface.bar(GRAPH4_X1+5,GRAPH4_Y1+10,GRAPH4_X1+10,GRAPH4_Y1+15, graph_series_color[0] );
00067 #if(GAME_VERSION>=200)
00068     // version 2 display both Institutional prestige and Undergraduate selectivity
00069     font_chartsm.put_paragraph(GRAPH4_X1+18,GRAPH4_Y1+5,GRAPH4_X1+120,GRAPH4_Y2+22,"Prestige");
00070 
00071     user_interface.bar(GRAPH4_X1+5,GRAPH4_Y1+27,GRAPH4_X1+10,GRAPH4_Y1+32, graph_series_color[1] );
00072     font_chartsm.put_paragraph(GRAPH4_X1+18,GRAPH4_Y1+23,GRAPH4_X2-5,GRAPH4_Y1+40,"Selectivity");
00073 #else
00074     font_chartsm.put_paragraph(GRAPH4_X1+18,GRAPH4_Y1+5,GRAPH4_X1+120,GRAPH4_Y2,"Institutional prestige");
00075 #endif
00076 
00077     user_interface.brighten(GRAPH5_X1,GRAPH5_Y1,GRAPH5_X2,GRAPH5_Y2);
00078     user_interface.rect(GRAPH5_X1,GRAPH5_Y1,GRAPH5_X2,GRAPH5_Y2,2);
00079     user_interface.bar(GRAPH5_X1+5,GRAPH5_Y1+10,GRAPH5_X1+10,GRAPH5_Y1+15,graph_series_color[0] );
00080 #if(GAME_VERSION>=200)
00081     // version 2 display number of student and number of faculty
00082     font_chartsm.put_paragraph(GRAPH5_X1+18,GRAPH5_Y1+5,GRAPH5_X1+120,GRAPH5_Y2,"Total students");
00083 
00084     user_interface.bar(GRAPH5_X1+5,GRAPH5_Y1+27,GRAPH5_X1+10,GRAPH5_Y1+32,graph_series_color[1] );
00085     font_chartsm.put_paragraph(GRAPH5_X1+18,GRAPH5_Y1+23,GRAPH5_X2-5,GRAPH5_Y1+40,"Total faculty");
00086 #else
00087     font_chartsm.put_paragraph(GRAPH5_X1+18,GRAPH5_Y1+5,GRAPH5_X1+120,GRAPH5_Y2,"Undergraduate selectivity");
00088 #endif
00089 
00090     user_interface.brighten(GRAPH6_X1,GRAPH6_Y1,GRAPH6_X2,GRAPH6_Y2);
00091     user_interface.rect(GRAPH6_X1,GRAPH6_Y1,GRAPH6_X2,GRAPH6_Y2,2);
00092 
00093     user_interface.bar(GRAPH6_X1+5,GRAPH6_Y1+10,GRAPH6_X1+10,GRAPH6_Y1+15, graph_series_color[0] );
00094     font_chartsm.put_paragraph(GRAPH6_X1+18,GRAPH6_Y1+5,GRAPH6_X2-5,GRAPH6_Y1+22,"Faculty morale");
00095 
00096     user_interface.bar(GRAPH6_X1+5,GRAPH6_Y1+27,GRAPH6_X1+10,GRAPH6_Y1+32, graph_series_color[1] );
00097     font_chartsm.put_paragraph(GRAPH6_X1+18,GRAPH6_Y1+23,GRAPH6_X2-5,GRAPH6_Y1+40,"Student morale");
00098 
00099     static int data_num1=HISTORY_MONTH_COUNT;
00100     static int data_num2=HISTORY_YEAR_COUNT;
00101     // #### begin Gilbert 02/05/2001 ####//
00102     static float dataArray1[2*HISTORY_MONTH_COUNT];
00103     // #### end Gilbert 02/05/2001 ####//
00104 
00105     // Graph 1
00106     for(int i=0;i<HISTORY_MONTH_COUNT;i++) {
00107         dataArray1[i]=(float)(finance.surplus_deficit_history[i]);
00108     }
00109     graph_m[0].init(GRAPH1_X1,GRAPH1_Y1+40,GRAPH1_X2,GRAPH1_Y2,
00110                     1 ,&data_num1 ,dataArray1, 1, 0, 3);
00111     graph_m[0].refresh();
00112     graph_m[0].deinit();
00113     //### begin zb 02/25/99
00114     if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00115         font_chart_red_sm.put_paragraph(GRAPH1_X1+18,GRAPH1_Y1+23,GRAPH1_X2,GRAPH1_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00116     else
00117         font_chartsm.put_paragraph(GRAPH1_X1+18,GRAPH1_Y1+23,GRAPH1_X2,GRAPH1_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00118     //### end zb 02/25/99
00119 
00120     // Graph 2
00121     for(i=0;i<HISTORY_MONTH_COUNT;i++) {
00122         dataArray1[i]=(float)(finance.operating_sub_surplus_history[i]);
00123     }
00124     graph_m[1].init(GRAPH2_X1,GRAPH2_Y1+40,GRAPH2_X2,GRAPH2_Y2,
00125                     1 ,&data_num1 ,dataArray1, 1, 0, 3);
00126     graph_m[1].refresh();
00127     graph_m[1].deinit();
00128     //### begin zb 02/25/99
00129     if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00130         font_chart_red_sm.put_paragraph(GRAPH2_X1+18,GRAPH2_Y1+23,GRAPH2_X2,GRAPH2_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00131     else
00132         font_chartsm.put_paragraph(GRAPH2_X1+18,GRAPH2_Y1+23,GRAPH2_X2,GRAPH2_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00133     //### end zb 02/25/99
00134 
00135     // Graph 3
00136     //net_tuition_history
00137 
00138     for(i=0;i<HISTORY_MONTH_COUNT;i++) {
00139         dataArray1[i+HISTORY_MONTH_COUNT]=(float)(finance.net_tuition_history[i]);
00140         dataArray1[i]=(float)(finance.sponsored_research_history[i]);
00141     }
00142     //  graph_m[2].init(GRAPH3_X1,GRAPH3_Y1+40,GRAPH3_X2,GRAPH3_Y2,
00143     //                                          1 ,&data_num1 ,dataArray1, 1, 0, 3);
00144 
00145     graph_m[2].init(GRAPH3_X1,GRAPH3_Y1+40,GRAPH3_X2,GRAPH3_Y2,
00146                     2 ,&data_num1 ,dataArray1, 1, 0, 3);
00147 
00148     graph_m[2].refresh();
00149     graph_m[2].deinit();
00150     //  if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00151     //          font_chart_red_sm.put_paragraph(GRAPH3_X1+73,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00152     //  else
00153     //          font_chartsm.put_paragraph(GRAPH3_X1+73,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y1+40,m.format(dataArray1[HISTORY_MONTH_COUNT-1],2));
00154 
00155     //  font_chartsm.put_paragraph(GRAPH3_X1+90,GRAPH3_Y1+5,GRAPH3_X2,GRAPH3_Y1+22,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],2));    //## chea 051199 swap position request
00156     //  font_chartsm.put_paragraph(GRAPH3_X1+90,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y1+40,m.format((int)dataArray1[2*HISTORY_MONTH_COUNT-1],2)); //## chea 051199 swap position request
00157     //### begin zb 02/25/99
00158     //## chea 051199 swap position request
00159     font_chartsm.put_paragraph(GRAPH3_X1+85,GRAPH3_Y1+5,GRAPH3_X2,GRAPH3_Y1+22,m.format((int)dataArray1[2*HISTORY_MONTH_COUNT-1],2));
00160     //## chea 051199 swap position request
00161     font_chartsm.put_paragraph(GRAPH3_X1+85,GRAPH3_Y1+23,GRAPH3_X2,GRAPH3_Y1+40,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],2));
00162     //### end zb 02/25/99
00163 
00164     // Graph 4
00165     for(i=0;i<HISTORY_MONTH_COUNT;i++) {
00166         dataArray1[i]=(float)(player_school.sub_score[S_PRESTIGE][i]);
00167     }
00168     graph_m[3].init(GRAPH4_X1,GRAPH4_Y1+40,GRAPH4_X2,GRAPH4_Y2,
00169                     1 ,&data_num1 ,dataArray1, 1, 0, 3, graph_series_color );
00170     graph_m[3].refresh();
00171     graph_m[3].deinit();
00172 #if(GAME_VERSION>=200)
00173     if(dataArray1[HISTORY_MONTH_COUNT-1]<0)         // verion 2 has two data
00174         font_chart_red_sm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+5,GRAPH4_X2-5,GRAPH4_Y1+22,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],3));
00175     else
00176         font_chartsm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+5,GRAPH4_X2-5,GRAPH4_Y1+22,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],3));
00177 #else
00178     if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00179         font_chart_red_sm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+23,GRAPH4_X2-5,GRAPH4_Y1+40,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],3));
00180     else
00181         font_chartsm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+23,GRAPH4_X2-5,GRAPH4_Y1+40,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],3));
00182 #endif
00183 
00184 #if(GAME_VERSION>=200)
00185     // undergraudate selectivity draw in graph 4
00186     // int selHistoryColor = V_RED;
00187 
00188     for(i=0;i<HISTORY_YEAR_COUNT;i++) {
00189         dataArray1[i]=(float)(finance.sl1_sel_history[i]*100);
00190     }
00191     graph_y[3].init(GRAPH4_X1,GRAPH4_Y1+40,GRAPH4_X2,GRAPH4_Y2,
00192                     1 ,&data_num2 ,dataArray1, 1, 0, 3, graph_series_color+1 );
00193     graph_y[3].refresh();
00194     graph_y[3].deinit();
00195     if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00196         font_chart_red_sm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+23,GRAPH4_X2-5,GRAPH4_Y1+40,m.format((int)dataArray1[HISTORY_YEAR_COUNT-1],3));
00197     else
00198         font_chartsm.put_paragraph(GRAPH4_X1+110,GRAPH4_Y1+23,GRAPH4_X2-5,GRAPH4_Y1+40,m.format((int)dataArray1[HISTORY_YEAR_COUNT-1],3));
00199 #endif
00200 
00201     // Graph 5
00202 #if(GAME_VERSION>=200)
00203     // version 2 display number of students and number of faculty
00204     for(i=0;i<HISTORY_YEAR_COUNT;i++) {
00205         dataArray1[i] = department_array.student_level_history[MAX_STUDENT_LEVEL_TOTAL][i] / 10;
00206         dataArray1[i+HISTORY_YEAR_COUNT] = department_array.faculty_level_history[FACULTY_RANK_LEVEL_TOTAL][i];
00207     }
00208     graph_y[4].init(GRAPH5_X1,GRAPH5_Y1+40,GRAPH5_X2,GRAPH5_Y2,
00209                     2 ,&data_num2 ,dataArray1, 1, 0, 3, graph_series_color );
00210     graph_y[4].refresh();
00211     graph_y[4].deinit();
00212     if ( (int)department_array.student_level_history[MAX_STUDENT_LEVEL_TOTAL][HISTORY_YEAR_COUNT-1] >= 10000 ) {
00213         font_chartsm.right_put(GRAPH5_X2-15,GRAPH5_Y1+5,
00214                                // don't use dataArray because divied by 10
00215                                m.format((int)department_array.student_level_history[MAX_STUDENT_LEVEL_TOTAL][HISTORY_YEAR_COUNT-1],30));
00216     }
00217     else {
00218         font_chartsm.right_put(GRAPH5_X2-15,GRAPH5_Y1+5,
00219                                // don't use dataArray because divied by 10
00220                                m.format((int)department_array.student_level_history[MAX_STUDENT_LEVEL_TOTAL][HISTORY_YEAR_COUNT-1],1));
00221     }
00222     font_chartsm.put_paragraph(GRAPH5_X1+110,GRAPH5_Y1+23,GRAPH5_X2-5,GRAPH5_Y1+40,m.format((int)dataArray1[2*HISTORY_YEAR_COUNT-1],1));
00223 #else
00224     for(i=0;i<HISTORY_YEAR_COUNT;i++) {
00225         dataArray1[i]=(float)(finance.sl1_sel_history[i]*100);
00226     }
00227     graph_y[4].init(GRAPH5_X1,GRAPH5_Y1+40,GRAPH5_X2,GRAPH5_Y2,
00228                     1 ,&data_num2 ,dataArray1, 1, 0, 3, graph_series_color );
00229     graph_y[4].refresh();
00230     graph_y[4].deinit();
00231     // #### patch begin Gilbert 06/09/2001 #####//
00232     // if(dataArray1[HISTORY_MONTH_COUNT-1]<0)
00233     if(dataArray1[HISTORY_YEAR_COUNT-1]<0)
00234         // #### patch end Gilbert 06/09/2001 #####//
00235         font_chart_red_sm.put_paragraph(GRAPH5_X1+110,GRAPH5_Y1+23,GRAPH5_X2-5,GRAPH5_Y1+40,m.format((int)dataArray1[HISTORY_YEAR_COUNT-1],3));
00236     else
00237         font_chartsm.put_paragraph(GRAPH5_X1+110,GRAPH5_Y1+23,GRAPH5_X2-5,GRAPH5_Y1+40,m.format((int)dataArray1[HISTORY_YEAR_COUNT-1],3));
00238 #endif
00239 
00240     // Graph 6
00241     for(i=0;i<HISTORY_MONTH_COUNT;i++) {
00242         dataArray1[i] = player_school.sub_score[S_FACULTY_MORALE][i];
00243         dataArray1[i+HISTORY_MONTH_COUNT] = player_school.sub_score[S_STUDENT_MORALE][i];
00244 
00245         //              dataArray1[i]=(float)(department_array.p_faculty_morale_history[i]);
00246     }
00247     graph_m[5].init(GRAPH6_X1,GRAPH6_Y1+40,GRAPH6_X2,GRAPH6_Y2,
00248                     2 ,&data_num1 ,dataArray1, 1, 0, 3, graph_series_color );
00249     graph_m[5].refresh();
00250     graph_m[5].deinit();
00251     font_chartsm.put_paragraph(GRAPH6_X1+110,GRAPH6_Y1+5,GRAPH6_X2-5,GRAPH6_Y1+22,m.format((int)dataArray1[HISTORY_MONTH_COUNT-1],3));
00252     font_chartsm.put_paragraph(GRAPH6_X1+110,GRAPH6_Y1+23,GRAPH6_X2-5,GRAPH6_Y1+40,m.format((int)dataArray1[2*HISTORY_MONTH_COUNT-1],3));
00253 }
00254 
00255 //-------- End of function Info::disp_6_graphs() --------//

Generated on Fri Aug 23 01:38:00 2002 for VirtualU by doxygen1.2.17