netjunky

Katy project

Feb 20th, 2011
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.17 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <string.h>
  5.  
  6. void initFiles( char inputFile[], char outputFile[] );
  7. FILE* openFile( char fileName[], char action[] );
  8. int closeFile( FILE* );
  9.  
  10. int main( int argc, char **argv )
  11. {
  12.     int i, j = 0;
  13.     char inputFile[10], outputFile[10];     //failinimede defineerimine
  14.     int digits[3];
  15.     char letter[3] = {'A', 'B', 'H'};
  16.     int A, B, H;
  17.     double X, Y;
  18.    
  19.     FILE *fi, *fo;      //faili viidad (file input, file output)
  20.    
  21.     initFiles( inputFile, outputFile );
  22.    
  23.     printf( "Algandmete faili nimi on - %s\n", inputFile );
  24.     printf( "Tulemuste faili nimi on - %s", outputFile );
  25.     /*scanf( "%s", inputFile );
  26.    
  27.     printf( "Tulemuste faili nimi on " );
  28.     scanf( "%s", outputFile );*/
  29.    
  30.     fi = openFile( inputFile, "r" );
  31.     fo = openFile( outputFile, "w" );
  32.    
  33.    
  34.     while ( EOF != fscanf( fi, "%d", &j ) )     //loeb failist lopuni
  35.     {
  36.         if ( 3 > i )
  37.         {
  38.             fprintf( fo, "%c = %d\n", letter[ i ], j );
  39.             digits[ i ] = j;
  40.         }
  41.         i++;
  42.         //printf( "%2d. arv on %d\n", i, x );
  43.         //fprintf( fo, "%c = %d\n", c, x );
  44.         //printf( "%d ", x );
  45.     }
  46.    
  47.     i = 0;
  48.    
  49.     A = digits[0];
  50.     B = digits[1];
  51.     H = digits[2];
  52.    
  53.     printf( "Here is A = %d\n", A );
  54.     fprintf( fo, "Here is A = %d\n", A );
  55.     printf( "Here is B = %d\n", B );
  56.     fprintf( fo, "Here is B = %d\n", B );
  57.     printf( "Here is H = %d\n", H );
  58.     fprintf( fo, "Here is H = %d\n", H );
  59.    
  60.     printf( "\n" );
  61.    
  62.     printf( "\tARGUMENT\t|\tFunktsioon\n" );
  63.     printf( "\t________\t|\t__________\n" );
  64.    
  65.     do
  66.     {
  67.         if ( 0 == i )
  68.         {
  69.             X = A;
  70.         }
  71.        
  72.         if ( X > B )
  73.         {
  74.             if ( 1 == i )
  75.             {
  76.                 X = A + H;
  77.             }
  78.            
  79.             if ( 1 < i )
  80.             {
  81.                 X = A + i * H;
  82.             }
  83.            
  84.             if ( X < B )
  85.             {
  86.                 return 0;
  87.             }
  88.         }
  89.        
  90.         if ( X < B )
  91.         {
  92.             if ( 1 == i )
  93.             {
  94.                 X = A + H;
  95.             }
  96.            
  97.             if ( 1 < i )
  98.             {
  99.                 X = A + i * H;
  100.             }
  101.            
  102.             if ( X > B )
  103.             {
  104.                 return 0;
  105.             }
  106.         }
  107.        
  108.         Y = log( sqrt( exp( (double)( X - 1 ) ) ) );
  109.        
  110.         if (  0 > exp( X - 1 ) )
  111.         {
  112.             printf( "Puudub\n" );
  113.         }
  114.         else
  115.         {
  116.             printf( "\t%10.4lf\t|%10.4lf\n", X, Y );
  117.             fprintf( fo, "\t%10.4lf\t|%10.4lf\n", X, Y );
  118.         }
  119.        
  120.         if ( X == B )
  121.         {
  122.             return 0;
  123.         }
  124.        
  125.         i++;
  126.     }
  127.     while ( 1 );
  128.    
  129.     closeFile( fi );    //faili (file input) sulgemine
  130.     closeFile( fo );    //faili (file output) sulgemine
  131.    
  132.     return 0;
  133. }
  134.  
  135. void initFiles( char inputFile[], char outputFile[] )
  136. {
  137.     printf( "Algandmete faili nimi on: " );
  138.     scanf( "%s", inputFile );
  139.    
  140.     printf( "Tulemuste faili nimi on: " );
  141.     scanf( "%s", outputFile );
  142. }
  143.  
  144. FILE* openFile( char fileName[], char action[] )
  145. {
  146.     FILE *file = fopen( fileName, action );
  147.     char act[20];
  148.    
  149.     switch ( action[0] )
  150.     {
  151.         case 'w':
  152.         {
  153.             strcpy( act, "kirjutamiseks" );
  154.         }
  155.         break;
  156.        
  157.         case 'r':
  158.         {
  159.             strcpy( act, "lugemiseks" );
  160.         }
  161.         break;
  162.     }
  163.    
  164.     if ( NULL == file )
  165.     {
  166.         printf( "\nFile \"%s\" polnud vyimalik avada %s.\n", fileName, act );
  167.         return 1;
  168.     }
  169.    
  170.     return file;
  171. }
  172.  
  173. int closeFile( FILE *file )
  174. {
  175.     int closed = 1;
  176.  
  177.     if ( NULL == file )
  178.     {
  179.         fprintf( stderr, "Faili pole vyimalik sulgeda." );
  180.         return 1;
  181.     }
  182.    
  183.     do
  184.     {
  185.         if ( 0 == fclose( file ) )
  186.         {
  187.             closed = 0;
  188.         }
  189.     }
  190.     while ( 0 != closed );
  191.    
  192.     return 0;
  193. }
Add Comment
Please, Sign In to add comment