#include <stdlib.h>          /* Verzweigungen */
#include <math.h>
/* 6. Schreiben Sie ein Programm, das eine beliebige Zahl auf x einliest und
ausgibt, ob die Zahl negativ, Null oder positiv ist,
die Funktionswerte sqrt(x), 1/x und log(x) ausgibt oder
einen Hinweis, falls sie nicht definiert sind und
ob sie gerade, ungerade oder keine natürliche Zahl ist,
ZA: auf a noch eine 2. Zahl einliest und
die Funktionswerte sqrt(x-a), 1/(x-a) und log(x+a) ausgibt oder
einen Hinweis, falls sie nicht definiert sind!
------------------------------------------------------------------------------*/
int main()
{                               /* testen mit -2,5; 0; 3; 2,7182818284 */
   float x, a;    int j;  double d;
   printf(" Bitte eine bel. reelle Zahl: "); scanf("%f", &x);  printf("\n\n");

   printf("\n gebrochener Teil=%f,", modf( x, &d) );
   printf(" ganzer Teil= %lf\n", d);

   
   if(x<0){ printf(" negativ, keine relle Wurzel, 1/x= %f, ", 1/x);
             printf(" ln(x) n. def.\n\n");
          }
   else if (x==0) { printf("\n Null, sqrt(x)= 0, 1/x  und ");
                    printf(" ln(x) n. def.\n");
                  }
        else{ printf("\n positiv, sqrt(x)= %f, 1/x=%f," , sqrt(x), 1/x );
               printf(" log(x)= %f, ", log(x));

               j=x;    /* j=int, x=float */

               printf("\n\n int=%i, rest= %f\n", j, x-j);
               if (j==x)
                  if(j%2) printf("\n ganze Zahl, ungerade \n");
                  else    printf("\n ganze Zahl, gerade \n");
               else printf("\n keine ganze Zahl!\n");
            }
  printf("\n\n"); system("Pause");     /* sqrt(x-a), 1/(x-a) und log(x+a) */
  printf("\nx=%f, zweite Zahl: ",x); scanf("%f", &a);
  if( x>=a) printf("\n sqrt( x-a)= %f", sqrt(x-a)); else printf("\n sqrt( x-a) nicht def!");
  if( x!=a) printf("\n 1/( x-a)= %f", 1/(x-a)); else printf("\n1/( x-a) nicht def!");
  if( x>a) printf("\n log( x-a)= %f", log(x-a)); else printf("\n log( x-a) nicht def!");
  printf("\n\n"); system("Pause");   
}
