home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 156_01 / test.c < prev    next >
Text File  |  1985-08-21  |  3KB  |  144 lines

  1. /*
  2.     I/O demonstration program
  3. */
  4. #include iolib.h
  5. #include float.h
  6. #include printf2.h
  7. #include args.h
  8. #include transcen.h
  9. int infile,outfile;
  10. char buf[80],chr,file[16];
  11. int a,b,c,*d,line;
  12. double e,f;
  13. main()
  14. {           /* parse command line BEFORE opening any files */
  15.     setargs();
  16.  
  17.     printf("hello, world\n");
  18.  
  19.     printf(" u: %u \n",-1);        /* u: 65535  */
  20.     printf(" x: %x \n",-1);        /* x: ffff  */
  21.     printf(" s: %s \n","hello");    /* s: hello  */
  22.     printf(" c: %c \n",65);        /* c: A  */
  23.                     /* string I/O */
  24.     puts("type a string: "); gets(buf); puts(buf);
  25.                     /* character I/O */
  26.     puts("\ntype a character:"); chr=getchar();
  27.     puts("  The character was "); putchar(chr); putchar(13);
  28.  
  29.     alpha();
  30.  
  31.     printf("The Fibbonacci sequence...%d, %d, %d, %d\n",
  32.     1,1,2,3);
  33.     printf("the square root of 2 is %15.12f\n",sqrt(2.));
  34.     printf("more numbers: c=%12.3e, mp/me=%9.3e, hbar=%e\n",
  35.     2.9979e8, 1836.11811, 1.054e-27);
  36.     printf("-14=%e, -.0014=%e, 14=%e, .0014=%e\n",
  37.         -14.,   -.0014,    14.,   .0014);
  38.     line=0;
  39.     &line;
  40.     outf(1.);
  41.     outf(1.1);
  42.     outf(1.01);
  43.     outf(1.001);
  44.     outf(1.0001);
  45.     outf(1.00001);
  46.     outf(1.000001);
  47.     outf(1.0000001);
  48.     outf(1.00000001);
  49.     outf(1.000000001);
  50.     outf(1.0000000001);
  51.     outf(1.00000000001);
  52.     outf(1.000000000001);
  53.     outf(1.0000000000001);
  54.     b=17;
  55.     c=6;
  56.     d=&b;
  57.     e=2.;
  58.     f=3.;
  59.     a=b;        out(a);
  60.     a=e;        out(a);
  61.     a=b|c;        out(a);
  62.     a=b^c;        out(a);
  63.     a=b&c;        out(a);
  64.     putchar(13);
  65.     a=b==c;        out(a);
  66.     a=b==e;        out(a);
  67.     a=e==b;        out(a);
  68.     a=e==f;        out(a);
  69.     a=b!=c;        out(a);
  70.     putchar(13);
  71.     a=b<c;        out(a);
  72.     a=b<=c;        out(a);
  73.     a=b>=c;        out(a);
  74.     a=b>c;        out(a);
  75.     a=b<<c;        out(a);
  76.     putchar(13);
  77.     a=b>>c;        out(a);
  78.     a=b+c;        out(a);
  79.     a=b+e;        out(a);
  80.     a=e+b;        out(a);
  81.     a=e+f;        out(a);
  82.     putchar(13);
  83.     a = b - c;
  84.     a=b-c;        out(a);
  85.     a=b*c;        out(a);
  86.     a=b*e;        out(a);
  87.     a=e*b;        out(a);
  88.     a=e*f;        out(a);
  89.     putchar(13);
  90.     a=b/c;        out(a);
  91.     a=b%c;        out(a);
  92.     a=b++;        out(a);
  93.     a= ++b;        out(a);
  94.     a= b--;        out(a);
  95.     putchar(13);
  96.     a= --b;        out(a);
  97.     a= *d;        out(a);
  98.     a= &b;        out(a);
  99.     e=a;        out(ifix(e));
  100.     a=d[1];        out(a);
  101.     putchar(13);
  102.  
  103.             /* get file names from command line */
  104.     if(getarg(1,file,16)==-1)exit();
  105.     infile=fopen(file,"r");
  106.     if(getarg(2,file,16)==-1)exit();
  107.     outfile=fopen(file,"w");
  108.                 /* copy first file to second */
  109.     while((c=getc(infile))!=-1)putc(c,outfile);
  110.     fclose(outfile);
  111. }
  112.  
  113. out(a) int a;
  114. {    printf("\t%d: %d",line++,a);
  115. }
  116. alpha()
  117. {    1;
  118.     puts("\nentering alpha");
  119.     beta();
  120.     gamma();
  121.     gamma();
  122.     puts("\nalpha signing off");
  123. }
  124. beta()
  125. {    2;
  126.     puts("\nentering beta");
  127.     gamma();
  128.     puts("\nbeta signing off");
  129. }
  130. gamma()
  131. {    3;
  132.     puts("\nentering gamma");
  133.     err("just testing");
  134.     puts("\ngamma signing off");
  135. }
  136. putnum(x) int x;
  137. {    if(x<0){x=-x;
  138.     putchar('-');}
  139.     if(x>9)putnum(x/10);
  140.     putchar('0'+x%10);
  141. }
  142. outf(x) double x;
  143. {    printf(" %16.13f \n",x);
  144. }