Delphi & Pascal (èeská wiki)
//************************************************************************// // STATIST.C // // Funkcie pre statisticke zobrazenie vypoctu // 11.11.1997 // //************************************************************************// #include <dos.h> #include "mbooldif.h" #include "glob.h" #include "error.h" #include "util.h" #include "video.h" #include "okno.h" #include "menu.h" //************************************************************************// // ZARAD_STAT zaradi statisticke informacie do struktury // // ako=0 pre udalostou 1=po udalosti 12.11.1997 // //************************************************************************// void zarad_stat( char text[], int ako ) { struct time t; long cas; gettime(&t); cas = t.ti_hund + 100.0 * ( t.ti_sec + 60.0 * ( t.ti_min + ( 60.0 * t.ti_hour ) ) ); if( ako == 0 ) { strcpy( s_stat[p_stat].s_text, text ); s_stat[ p_stat ].cas = cas; min_mem = 0; } else { s_stat[ p_stat ].cas = cas - s_stat[ p_stat ].cas + 1; s_stat[ p_stat ].pamet = 10*( min_mem +1 ); // pocas prace nastavuje min_mem funkcia pamet() min_mem = 0; if( p_stat < max_stat ) p_stat++; } } //************************************************************************// // STATISTIKA zobrazi udaje o priebehu vypoctu // // 11.11.1997 // //************************************************************************// int statistika( void ) { int zx,zy; int i; // devka FILE *tmp,*fopen(); // ulozi slovnik long c_cas=0; zx=_stlpcov/2-38; zy=_riadkov/2-10; if( view_okno(zx,zy,zx+76,zy+20,atributy[42],atributy[43],3," ›tatistick‚ £daje ")==FALSE) { chybove_okno( chyba[1] ); return(1); } // ideme zapisovat do suboru tmp=fopen( strspoj( temp,TmpSubor[7] ) ,"w+t" );// tmp subor STATIST.TMP if ( tmp == NULL ) { chybove_okno(chyba[17]); // disk chraneny proti zapisu, alebo tak neako return( FALSE ); } // zistime celkovy cas for( i=0; i < p_stat; i++ ) c_cas = c_cas + s_stat[i].cas; fprintf( tmp,"\n Doteraj¨¡ v˜po‡et mal nasledovn‚ n roky \n" ); fprintf( tmp," ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n\n" ); // vypiseme for( i=0; i < p_stat; i++ ) fprintf( tmp," %23s = %4lu ms [%4.1f%c] %8lu b [%5.1f%c]\n", s_stat[i].s_text, (unsigned long)s_stat[i].cas, (float)( 100.0 * s_stat[i].cas/c_cas), 37, (unsigned long)s_stat[i].pamet, (float)( 100.0 * s_stat[i].pamet/volne_mem), 37 ); fprintf( tmp," ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n" ); fprintf( tmp," Celkom ‡as = %4lu ms Pam„Ÿ : %4lu byte", c_cas, volne_mem ); fprintf( tmp,"\n\n Celkov˜ ‡as v˜po‡tu je bez zdr‘an¡ sa pri komunik cii s u‘¡vateŒom."); fprintf( tmp,"\n Celkov pam„Ÿ vyjadruje voŒn£ pam„Ÿ pre programov˜ k¢dom a z sobn¡k.\n"); fclose( tmp ); zapni_kurzor(); zobraz_tmp ( TmpSubor[7],0 ); vypni_kurzor(); zatvor_okno(); return(0); } /*---------------------------------END--------------------------------------*/