home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / code_examples / librar / ffloat.c < prev    next >
Text File  |  1989-02-08  |  2KB  |  62 lines

  1. /*--------------------------------------*/
  2. /*                    */
  3. /*           FFLOAT(X,X,X,X,X,X)    */
  4. /*                    */
  5. /* Writes a floating point number to a  */
  6. /* file The first argument is the file  */
  7. /* descripter. The second argument is   */
  8. /* the number to be written to file.    */
  9. /* The third argument is the number of  */
  10. /* of places needed to be filled left   */
  11. /* of the decimal point. The fourth     */
  12. /* argument is the number of places     */
  13. /* needed to be filled right of the     */
  14. /* decimal point.  The fifth argument   */
  15. /* is a flag for space(1) or zero(0)    */
  16. /* filler. The sixth argument is the     */
  17. /* flag determining if a CRLF is to be    */
  18. /* added to the file(0 is no, 1 is yes.)*/
  19. /*                    */
  20. /*--------------------------------------*/
  21. # include "stdio.h"
  22. void ffloat(fd,flote,a,b,cc,d)
  23. float flote;
  24. int a,b,cc,d;
  25. FILE *fd;
  26. {
  27.         int j;
  28.         char c[5];
  29.         double dd,ee,bb,pow();
  30.         float ff;
  31.         bb=10;
  32.         a--;
  33.         if (a>0){
  34.             for (j=a;j>0;j--){
  35.                  if (j==a){
  36.                      if (flote<0){
  37.                          putc(45,fd);
  38.                          flote*=-1.0;
  39.                      }
  40.                      else
  41.                          putc(32,fd);
  42.                  }
  43.                  ee=j;
  44.                  ff=dd=pow(bb,ee);
  45.                  if (flote<ff){
  46.                      if (!cc)
  47.                          putc(48,fd);
  48.                      else
  49.                          putc(32,fd);
  50.                  }
  51.             }
  52.         }
  53.         c[0]='%';
  54.         c[1]='.';
  55.         c[2]=b+48;
  56.         c[3]='f';
  57.         c[4]=0;
  58.         fprintf(fd,c,flote);
  59.         if (d==1)
  60.             fcrlf(fd,1);
  61. }
  62.