netjunky

Untitled

Feb 20th, 2011
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.16 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4.  
  5.  
  6. void initFiles( char inputFile[], char outputFile[] )
  7. {
  8.     printf( "Algandmete faili nimi on: " );
  9.     scanf( "%s", inputFile );
  10.    
  11.     printf( "Tulemuste faili nimi on: " );
  12.     scanf( "%s", outputFile );
  13. }
  14.  
  15. void otvet(double X, double Y)
  16. {
  17.      
  18.      Y = log( sqrt( exp( (double)(X - 1) ) ) );
  19.        
  20.         if( exp( X - 1 ) < 0 ) {
  21.             printf("Puudub\n");
  22.         } else {
  23.             printf("%10.4lf  |%10.4lf\n", X, Y);
  24.             //fprintf(fo,"%10.4lf  |%10.4lf\n", X, Y);
  25.         }  
  26.      }
  27.  
  28.  
  29. int main( int argc, char **argv )
  30. {
  31.  
  32.   char inputFile[10], outputFile[10];  
  33.   double A, B, H, X, Y;
  34.   int i = 0;
  35.   int x;
  36.   int digits[2];
  37.   char letter[3] = {'A', 'B'};
  38.      
  39.   FILE *fi, *fo;       
  40.  
  41.   initFiles( inputFile, outputFile );
  42.      
  43.     fi = fopen( inputFile, "r" );       //fail avatakse lugemiseks
  44.     fo = fopen( outputFile, "w" ); 
  45.  
  46.  
  47.     if ( NULL == fi )
  48.     {
  49.         printf( "%s fail polnud voimalik avada.\n", inputFile );
  50.         fprintf(fo, "%s fail polnud voimalik avada.\n", inputFile );
  51.        
  52.         return 1;
  53.     }
  54.    
  55.     if ( NULL == fo )
  56.     {
  57.         printf( "%s fail polnud voimalik avada.\n", outputFile );
  58.        
  59.         return 1;
  60.     }    
  61.    
  62.     while ( EOF != fscanf( fi, "%d", &x ) )     //loeb failist lopuni
  63.     {
  64.         if ( 2 > i )
  65.         {
  66.             fprintf( fo, "%c = %d\n", letter[ i ], x );
  67.             digits[ i ] = x;
  68.         }
  69.         i++;
  70.        
  71.     }
  72.  
  73.  
  74.     A = digits[0];
  75.     B = digits[1];
  76.    
  77.    
  78.      if( A > B ) {
  79.         do {
  80.             printf("H (H < 0) = ");
  81.             scanf("%lf", &H);
  82.             fprintf(fo, "H (H < 0) = ", H);
  83.            
  84.         } while ( H >= 0 );
  85.     } else {
  86.         do {
  87.             printf("H (H > 0) = ");
  88.             scanf("%lf", &H);
  89.             fprintf(fo, "H (H < 0) = ", H);
  90.            
  91.         } while ( H <= 0 );
  92.     }    
  93.    
  94.    
  95.     fprintf(fo,"\n");
  96.    
  97.     printf("  ARGUMENT  |  Funktsioon\n");
  98.     fprintf(fo, "  ARGUMENT  |  Funktsioon\n");
  99.     printf("____________|_____________\n");
  100.     fprintf(fo, "____________|_____________\n");
  101.    
  102.    i=0;
  103.    
  104.     do {
  105.        
  106.         if( i == 0 ) {
  107.             X = A;
  108.         }
  109.        
  110.         if( X > B ) {
  111.             if ( i == 1 ) {
  112.                X = A + H;
  113.             }
  114.             if( i > 1 ) {
  115.                 X = A + i * H;
  116.             }
  117.             if(X<B) {
  118.                      return 0;
  119.                      }
  120.         }
  121.            
  122.         if( X < B ) {
  123.             if( i == 1 ) {
  124.                 X = A + H;
  125.             }
  126.             if( i > 1 ) {
  127.                 X = A + i * H;
  128.             }
  129.             if(X>B) {
  130.                      return 0;
  131.                      }
  132.         }  
  133.        
  134.         otvet( X, Y);
  135.         fprintf(fo,"%10.4lf  |%10.4lf\n", X, Y);
  136.        
  137.        /* Y = log( sqrt( exp( (double)(X - 1) ) ) );
  138.        
  139.         if( exp( X - 1 ) < 0 ) {
  140.             printf("Puudub\n");
  141.             fprintf(fo, "Puudub\n");
  142.         } else {
  143.             printf("%10.4lf  |%10.4lf\n", X, Y);
  144.             fprintf(fo,"%10.4lf  |%10.4lf\n", X, Y);
  145.         }  */
  146.        
  147.         if( X == B ) {
  148.             return 0;
  149.         }  
  150.        
  151.        
  152.         i++;
  153.        
  154.     } while(1);    
  155.    
  156.     return 0;
  157. }
Add Comment
Please, Sign In to add comment